SQLServer2012 では、条件に基づいて 2 つの可能な値のうち 1 つを返す論理関数である iif 関数が追加されています。その構文は次のとおりです。
IIF ( boolean_expression, true_value, false_value )
ここで、は true の場合に返される論理式、そうでない場合に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 関数ではないため、他のデータベース管理システムではサポートされない場合があります。