如何在 PostgreSQL 中将字符串转换为日期时间

问题描述 投票:0回答:1

我的表中有一个名为

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 值?

postgresql
1个回答
0
投票

您可以使用 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
© www.soinside.com 2019 - 2024. All rights reserved.