发布日期:2018-03-26
如何SQL语句中使用IF…THEN?+ 查看更多
如何SQL语句中使用IF…THEN?
+ 查看更多
发布日期:2018-02-24 16:57
分类:SQL
浏览次数:98
如何在一个SELECT语句中使用IF…THEN结构呢?
例如:
SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
回答
SQL中的CASE语句最接近IF结构,并且所有版本的SQL Server都支持。
SELECT CAST( CASE WHEN Obsolete = 'N' or InStock = 'Y' THEN 1 ELSE 0 END AS bit) as Saleable, * FROM Product
CAST语句可以返回布尔类型的结果,如果只需要返回int型,可以这样做:
SELECT CASE WHEN Obsolete = 'N' or InStock = 'Y' THEN 1 ELSE 0 END as Saleable, * FROM Product
CASE语句可以被嵌套在其他的CASE语句中,甚至可以包含在聚合中。
SQL Server Denali(SQL Server 2012)添加了一个IIF语句,它也可以在access中使用:
SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product