时间(varchar)
2020-07-19T02:28:22.729Z2020-07-19T02:48:33.979Z2020-07-19T02:48:48.250Z2020-07-19T02:53:24.307Z2020-07-19T02:53:48.278Z
2020-07-19T02:28:22.729Z
2020-07-19T02:48:33.979Z
2020-07-19T02:48:48.250Z
2020-07-19T02:53:24.307Z
2020-07-19T02:53:48.278Z
我想把这个columntime(varchar)改为IBMCloud中的DateTimeFormat?
py49o6xq1#
mysql和sql server(原始标记)都理解此格式,因此您可以使用:
cast('2020-07-19T02:28:22.729Z' as datetime)
在两个数据库中,或使用列名:
cast(time as datetime)
oxosxuxt2#
想必,你想把你的弦变成 timestamp 而不是一个 date ,因为它包含毫秒。在db2中,可以使用 to_timestamp() 为了这个。你需要先去掉中间的部分 'T' 然后是尾随 'Z' .这应该做到:
timestamp
date
to_timestamp()
'T'
'Z'
to_timestamp( replace(replace('2020-07-19T02:28:22.729Z', 'T', ' '), 'Z', ' '), 'yyyy-mm-dd hh24:mi:ss.ff3')
to_timestamp(
replace(replace('2020-07-19T02:28:22.729Z', 'T', ' '), 'Z', ' '),
'yyyy-mm-dd hh24:mi:ss.ff3'
)
db小提琴演示:
select to_timestamp( replace(replace('2020-07-19T02:28:22.729Z', 'T', ' '), 'Z', ' '), 'yyyy-mm-dd hh24:mi:ss.ff3') ts from sysibm.sysdummy1
select to_timestamp(
) ts from sysibm.sysdummy1
| TS || -------------------------------: || 2020-07-19 02:28:22.729000000000 |
| TS |
| -------------------------------: |
| 2020-07-19 02:28:22.729000000000 |
6ie5vjzr3#
试试这个:
/*WITH QUAKE (time) AS(VALUES '2020-07-19T02:28:22.729Z', '2020-07-19T02:48:33.979Z', '2020-07-19T02:48:48.250Z', '2020-07-19T02:53:24.307Z', '2020-07-19T02:53:48.278Z')* /SELECT TIMESTAMP(TRANSLATE(time, ' ', 'TZ'))FROM QUAKE;
/*
WITH QUAKE (time) AS
(
VALUES
'2020-07-19T02:28:22.729Z'
, '2020-07-19T02:48:33.979Z'
, '2020-07-19T02:48:48.250Z'
, '2020-07-19T02:53:24.307Z'
, '2020-07-19T02:53:48.278Z'
* /
SELECT TIMESTAMP(TRANSLATE(time, ' ', 'TZ'))
FROM QUAKE;
3条答案
按热度按时间py49o6xq1#
mysql和sql server(原始标记)都理解此格式,因此您可以使用:
在两个数据库中,或使用列名:
oxosxuxt2#
想必,你想把你的弦变成
timestamp
而不是一个date
,因为它包含毫秒。在db2中,可以使用to_timestamp()
为了这个。你需要先去掉中间的部分'T'
然后是尾随'Z'
.这应该做到:
db小提琴演示:
6ie5vjzr3#
试试这个: