作为长期在Oracle下开发的程序员来说,没有DECODE是非常可怕的事情。正巧最近做的自己的小工具的时候,需要在SQL Server和Access实现DECODE函数的功能。查了一下资料,汇总如下:
在SQL Server环境下,使用CASE ... WHEN ... END 进行处理,例子如下:
SELECT 'Price Category' =
CASE
WHEN price IS NULL THEN 'Not yet priced'
WHEN price < 10 THEN 'Very Reasonable Title'
WHEN price >= 10 and price < 20 THEN 'Coffee Table Title'
ELSE 'Expensive book!'
END,