如何解决您可以使用 CASE 显示列值吗
我正在从 TABLB1 中选择几列。
一列 (POST_DATE
) 仅当 (DB2) 值为“9999-99-99
”时我才希望显示为“0001-01-01
”,否则我希望它显示实际的 DB2 值.
这很好用:
,CASE
WHEN POST_DATE = '0001-01-01' THEN '9999-99-99'
ELSE 'NOT 0001-01-01' END AS POSTING_DATE
这不起作用:
,CASE
WHEN POST_DATE = '0001-01-01' THEN '9999-99-99'
ELSE POST_DATE END AS POSTING_DATE
有没有办法在 SPUFI 中做到这一点?
解决方法
CASE
表达式返回单个值——在您的情况下是日期或字符串。如果 CASE
返回两者,则选择一个字符串。
所以,显式转换:
(CASE WHEN POST_DATE = '0001-01-01' THEN '9999-99-99'
ELSE CASt(POST_DATE AS VARCHAR(255)
END) AS POSTING_DATE
或者,您可以使用有效的日期值代替 '9999-99-99'
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。