猿问

如何执行if…然后在SQL选择中?

如何执行if…然后在SQL选择中?

如何执行IF...THENSQL SELECT口供?

例如:

SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product


忽然笑
浏览 1066回答 3
3回答

MM们

这个CASE语句是SQL中最接近if的语句,所有版本的SQLServer都支持该语句。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 ProductCASE语句可以嵌入到其他语句中。CASE语句,甚至包括在集合中。SQLServer Denali(SQLServer 2012)添加IIF语句,该语句也可在存取(由马丁·史密斯):SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product

斯蒂芬大帝

在这种情况下,案例陈述是您的朋友,其形式有两种:简单的例子:SELECT&nbsp;CASE&nbsp;<variable>&nbsp;WHEN&nbsp;<value>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;THEN&nbsp;<returnvalue> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;<othervalue>&nbsp;THEN&nbsp;<returnthis> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE&nbsp;<returndefaultcase> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;AS&nbsp;<newcolumnname>FROM&nbsp;<table>扩大案件:SELECT&nbsp;CASE&nbsp;WHEN&nbsp;<test>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;THEN&nbsp;<returnvalue> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;<othertest>&nbsp;THEN&nbsp;<returnthis> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE&nbsp;<returndefaultcase> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;AS&nbsp;<newcolumnname>FROM&nbsp;<table>您甚至可以将CASE语句放入ORDERBY子句中,以便进行真正花哨的排序。
随时随地看视频慕课网APP
我要回答