PostgreSQL如何用to_timestamp解析含T的时间字符串为时间戳
解决PostgreSQL中带T的时间字符串解析问题
嘿,这个场景我太熟悉了!不用费劲替换字符串,PostgreSQL的to_timestamp函数本身就支持在格式模式里直接匹配并跳过固定字符,只要把那个T用双引号包裹起来就行。
举个具体的例子,针对你的时间字符串2019-02-14T17:49:20.987,可以这样写:
SELECT to_timestamp('2019-02-14T17:49:20.987', 'YYYY-MM-DD"T"HH24:MI:SS.US');
原理说明:
- 格式串里的
"T"会被PostgreSQL识别为固定匹配的字符,它会直接跳过字符串中的T,不会把它当成时间格式的一部分来解析。 - 后面的
HH24:MI:SS.US对应小时(24小时制)、分钟、秒和微秒,刚好匹配你字符串里的时间部分。
这样执行后就能直接得到正确的时间戳,完全不需要提前替换T为空格,简洁多了。这种方法也适用于其他固定的特殊分隔符,只要用双引号把固定字符包起来就行~
内容的提问来源于stack exchange,提问作者peter.petrov
相关产品推荐
相关产品推荐

