SQLServer iif 関数

        SQLServer2012 では、条件に基づいて 2 つの可能な値のうち 1 つを返す論理関数である iif 関数が追加されています。その構文は次のとおりです。

 

        

IIF ( boolean_expression, true_value, false_value )

        ここで、は true の場合に返される論理式、そうでない場合にboolean_expression返される論理式ですtrue_valuefalse_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