我的表中有一个名为
cancel_date
的列,它以 varchar
数据类型存储日期,并有一些空行:
id | 取消日期 |
---|---|
111 | 2024-03-27T11:27:20.215419+00:00 |
222 | 空 |
333 | 2024-02-23T22:02:41.671511+00:00 |
444 | 空 |
所以,我需要将日期值从
cancel_date
转换为 TIMESTAMP 格式。我使用 TO_TIMESTAMP(cancel_date, 'YYYY-MM-DD"T"HH24:MI:SS.US+TZ')
,但收到此错误:Failed to tokenize string [Y] at offset [0]
如何使用 TO_TIMESTAMP() 处理 Null 值?
您可以使用 CASE..WHEN:
SELECT
id,
CASE
WHEN cancel_date IS NULL THEN NULL
ELSE TO_TIMESTAMP(cancel_date, 'YYYY-MM-DD"T"HH24:MI:SS.US+TZ')
END AS cancel_date
FROM
table_name