Postgres中TO_TIMESTAMP格式串里的.USSTZ各部分含义是什么?
关于PostgreSQL中TO_TIMESTAMP格式符
STZ的说明 你用到的STZ其实是两个独立的格式符,并非一个整体:
S:匹配秒的小数部分,可以对应字符串里的.832(不过你已经用了US(微秒)来处理这部分,两者功能有重叠)TZ:匹配时区标识,这里字符串末尾的Z是UTC时区的标准缩写,TZ格式符会识别这个标识并转换为对应的时区偏移。
另外补充个更简洁的写法:PostgreSQL原生支持ISO 8601格式的时间字符串解析,无需手动指定格式符,直接用下面两种方式都能得到正确的timestamptz类型结果:
-- 方式1:类型转换 SELECT '2023-08-09T23:39:18.832Z'::timestamptz; -- 方式2:省略格式参数的TO_TIMESTAMP SELECT TO_TIMESTAMP('2023-08-09T23:39:18.832Z');
内容的提问来源于stack exchange,提问作者sudoExclamationExclamation
相关产品推荐
相关产品推荐

