SQLSERVER实现三元运算符

  • Post author:
  • Post category:其他




SQLSERVER实现三元运算符的效果

最近在写SQL的查询时,突然想用三元运算符的效果实现,总结下

很遗憾,SQL server中并没有这个功能,三元运算符是什么呢?



三元运算符的语法:

【条件*

?

满足返回值

:

不满足返回值**】**

--举例:
if(a>b?true:false)



SQL的实现方法:




(1)使用CASE WHEN 组合

(最原始的方法)

--原始方法   
SELECT (CASE WHEN 1=1 THEN 'TRUE' ELSE 'FALSE' END)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6UwtDWSY-1651807600334)(C:/Users/zhaofan/AppData/Roaming/Typora/typora-user-images/image-20220506111732038.png)]




(2):使用

IIF

函数:


注意!

这个函数是

sqlserver 2012

之后新增的,你的数据库如果

不是

2012 以后,乖乖使用上面的

case when

--IFF函数(我最喜欢这种,简便、整洁)
--TRUE
SELECT  IIF(1=1,N'成功啦!',N'还在成功的路上,加油!')
--FALSE
SELECT  IIF(1>1,N'成功啦!',N'还在成功的路上,加油!')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WzCiqwxa-1651807600335)(C:/Users/zhaofan/AppData/Roaming/Typora/typora-user-images/image-20220506112516435.png)]



完结

在这里插入图片描述



版权声明:本文为weixin_43475992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。