Gab*_*lla 4 postgresql dbeaver postgresql-11
我正在处理 ISO 8601 中的一些日期,当转换为时间戳时,我在毫秒内遇到了一些奇怪的情况:
SELECT '2020-05-15T19:01:59.002+00:00'::timestamp
2020-05-15 19:01:59:02 <--- wrong milliseconds
SELECT '2020-05-15T19:01:59.022+00:00'::timestamp
2020-05-15 19:01:59:22 <--- wrong milliseconds
SELECT '2020-05-15T19:01:59.22+00:00'::timestamp
2020-05-15 19:01:59:220 <--- ok, but I'm scared
Run Code Online (Sandbox Code Playgroud)
我尝试使用to_timestamp()但找不到解决字符串中 T 的方法。任何指导表示赞赏!
从您用来访问 Postgres 的任何技术来看,您所看到的似乎只是一个工件。如本演示所示,实际上您对时间戳的转换工作正常。考虑以下:
WITH yourTable AS (
SELECT '2020-05-15T19:01:59.002+00:00'::timestamp AS ts
)
SELECT
ts,
EXTRACT(milliseconds FROM ts) AS millis
FROM yourTable;
Run Code Online (Sandbox Code Playgroud)
上述查询正确生成 59,002 作为时间戳中的毫秒数。
| 归档时间: |
|
| 查看次数: |
6236 次 |
| 最近记录: |