【发布时间】:2011-08-22 00:44:57
【问题描述】:
我有一列有一些空值。如果该列为空,我想根据另一列中的值对其输出进行条件化。
所以if case when null (if c=80 then 'planb'; else if c=90 then 'planc')
如何在内联 T-SQL 语句中编写代码?
谢谢。
【问题讨论】:
标签: sql sql-server if-statement case
我有一列有一些空值。如果该列为空,我想根据另一列中的值对其输出进行条件化。
所以if case when null (if c=80 then 'planb'; else if c=90 then 'planc')
如何在内联 T-SQL 语句中编写代码?
谢谢。
【问题讨论】:
标签: sql sql-server if-statement case
您还可以使用嵌套的 case 语句。假设第一列称为DataColumn。
CASE
WHEN DataColumn IS NULL THEN
CASE c
WHEN 80 THEN 'planb'
WHEN 90 THEN 'planc'
ELSE 'no plan'
END
ELSE DataColumn
END
【讨论】:
COALESCE(YourColumn, CASE c WHEN 80 then 'planb' WHEN 90 THEN 'planc' END)
【讨论】:
COALESCE(foo, bar) 基本上是 CASE WHEN foo IS NOT NULL THEN foo ELSE bar END 的简写,不确定你在替换和替换之间有什么区别你能举这个例子吗?
varchar(2)。