将时间字符串格式化,转变成时间戳,再加8小时后写入clickhouse
2023-10-17T03:00:42.506205807 ----> 2023-10-17 11:00:42.506
(该方法默认精确度为秒,不适用毫秒)
(1)UNIX_TIMESTAMP
作用:将时间字符串转换成时间戳
用法:UNIX_TIMESTAMP(STRING datestr, STRING format)
eg:
UNIX_TIMESTAMP('1970-01-01 08:00:01', 'yyyy-MM-dd HH:mm:ss.SSS')
(2)CONVERT_TZ
作用:转换时区
用法:CONVERT_TZ(string1, string2, string3)
eg:
CONVERT_TZ('1970-01-01 08:00:01', 'UTC', 'Asia/Shanghai')
(实测仅获取当前10位时间戳)
作用:将时间字符串转换成时间戳,并转换时区
用法:UNIX_TIMESTAMP(‘1970-01-01 08:00:01.001 +0800’, ‘yyyy-MM-dd HH:mm:ss.SSS X’);
TIMESTAMPADD(HOUR, 8, TO_TIMESTAMP(replace(substring('2023-10-17T03:00:42.506205807',0,23),'T',' ')));
(1)TIMESTAMPADD
作用:给时间戳加上任意时间
用法:TIMESTAMPADD(timeintervalunit, interval, timepoint)
eg:
TIMESTAMPADD(HOUR, 8, 1696932862000)
(2)TO_TIMESTAMP
作用:将时间字符串转换成时间戳
用法:TO_TIMESTAMP(string1[, string2])
eg:
TO_TIMESTAMP('1970-01-01 08:00:01.001')