我需要使用数据更新column8
,具体取决于其他两个包含日期(date1
和date2
)的列 - 如果date1
晚于date2
则column8
为YES
,NO
。
我写了这个:
update table1
set delay = case when date1 > date2 then 'YES'
when date2 is NULL then 'YES'
else 'NO'
end
问题是它可能不是比较日期而是比较表达式的长度,因为除了空列之外我没有在每一列中......它告诉我它可能不知道我希望它作为日期进行比较但是数据库中的列采用日期格式YYYY-MM-DD
。
有没有办法更新我的代码或添加一些东西来比较日期而不是字符串长度?
谢谢!
答案 0 :(得分:0)
您可以尝试CAST功能:
WHEN CAST(date1 AS DATE) > CAST(date2 AS DATE)