|
|
1
1
看起来你需要这样的东西:
CASE表达式从上到下按顺序工作。首先,当条件满足时,返回THEN值并退出CASE。如果它们都不满足,则从ELSE返回值,如果没有定义ELSE(这是可选的),则返回NULL。 考虑到这一点,当days_off_rent不是NULL时,使用反向逻辑也可以得到相同的结果,否则取off_rent_start_date为NULL。
|
|
2
0
当days_off_rent为NULL时,您似乎试图将NULL分配给off_rent_start_date。但是,语法不正确。以下是更正后的代码:
在此更正版本中: 我添加了一个ELSE子句,用于指定days_off_rent不为NULL时返回的值。 我已将CASE语句的结果分配给一个新的列别名off_rent_start_date_new,因为您不能直接为SELECT语句中的现有列分配值。 如果你想更新原始的off_rent_start_date列,你需要使用update语句:
请注意,这将更新FinalData CTE或表中的原始数据。在将其应用于生产数据之前,请确保在开发环境中对此进行测试。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
|
jack · 基于日期范围和时间范围的DateTime筛选 1 年前 |
|
|
Boker · 带分组依据、动态列名和动态列列表的动态枢轴 2 年前 |
|
|
nam · 使用子查询或INNER JOIN 2 年前 |
|
|
ATL-JP · 将Null指定给CTE中的列 2 年前 |
|
Der U · 将表列合并为一个唯一值(作为哈希字节的输入) 2 年前 |
|
Java · 如何在T-SQL中转换为日期格式,如“2024年1月”? 2 年前 |