SQLServer iif函数

        SQLServer2012新增了iif函数,该函数是一个逻辑函数,用于根据条件返回两个可能的值之一。它的语法如下:

        

IIF ( boolean_expression, true_value, false_value )

        其中,boolean_expression是一个逻辑表达式,如果为真,则返回true_value,否则返回false_value

以下是一些使用IIF函数的示例:

        返回年龄是否大于等于18岁:

--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([name] nvarchar(22),[age] int)
Insert #T
select N'张三',17 union all
select N'李四',18 union all
select N'王五',19
Go
--测试数据结束
SELECT IIF(age >= 18, '成年人', '未成年人') AS is_adult FROM #T;

        结果:

        

        需要注意的是,IIF函数在 SQL Server 2012 及以上版本中才被引入。在较早的版本中,可以使用CASE语句来实现类似的功能。另外,IIF函数不是标准的 SQL 函数,在其他数据库管理系统中可能不被支持。

猜你喜欢

转载自blog.csdn.net/sinat_28984567/article/details/129645578