【问题标题】:What is the 'when keyword' used for in T-SQL?T-SQL 中使用的“when 关键字”是什么?
【发布时间】:2019-06-12 19:22:54
【问题描述】:
【问题讨论】:
标签:
sql-server
tsql
keyword
【解决方案1】:
它与 CASE 关键字一起使用,它本质上就像一个开关或“if”语句......例如:
SELECT
CASE WHEN [Column] = 1 THEN 'Column is 1'
WHEN [Column] = 2 THEN 'Column is 2'
ELSE 'Column is not 1 or 2'
END AS [Description]
【解决方案2】:
WHEN 也是MERGE 声明的一部分:
根据与源表的连接结果对目标表运行插入、更新或删除操作
MERGE
[ INTO ] <target_table> [ WITH ( <merge_hint> ) ] [ [ AS ] table_alias ]
USING <table_source>
ON <merge_search_condition>
[ WHEN MATCHED [ AND <clause_search_condition> ]
THEN <merge_matched> ] [ ...n ]
[ WHEN NOT MATCHED [ BY TARGET ] [ AND <clause_search_condition> ]
THEN <merge_not_matched> ]
[ WHEN NOT MATCHED BY SOURCE [ AND <clause_search_condition> ]
THEN <merge_matched> ] [ ...n ]
;