SQL中如何按客户名称前缀规则将两列日期合并为新列?
SQL条件合并列问题解决方法
你的CASE语句逻辑顺序有误,因为ims-i-开头的字符串同样会满足like 'ims-%'的匹配规则,导致第二个条件永远不会被触发。
正确的写法需要把更精确的匹配条件放在前面,先判断ims-i-%,再判断范围更广的ims-%:
CASE WHEN customer LIKE 'ims-i-%' THEN reciveddate WHEN customer LIKE 'ims-%' THEN createddate ELSE NULL END AS combineddate
这样执行时,ims-i-345这类数据会优先匹配第一个条件,填入reciveddate的值;ims-123这类数据则会匹配第二个条件,填入createddate的值,完全符合你的需求。
内容的提问来源于stack exchange,提问作者eddeveloper
相关产品推荐
相关产品推荐

