我有一个配置单元表,其中带有数据类型timestamp的数据是utc格式的。我在这个表的顶部创建了一个视图来转换 UTC
至 CST
用夏时制。这种转换很有效。但是数据丢失了毫秒。
以下逻辑用于将utc转换为cst
FROM_UTC_TIMESTAMP(UNIX_TIMESTAMP(added_date, 'yyyy-MM-dd HH:mm:ss.SSS') * 1000, 'CST6CDT')
请帮我转换一下 UTC
至 CST
包括时间戳中的毫秒。
我有一个配置单元表,其中带有数据类型timestamp的数据是utc格式的。我在这个表的顶部创建了一个视图来转换 UTC
至 CST
用夏时制。这种转换很有效。但是数据丢失了毫秒。
以下逻辑用于将utc转换为cst
FROM_UTC_TIMESTAMP(UNIX_TIMESTAMP(added_date, 'yyyy-MM-dd HH:mm:ss.SSS') * 1000, 'CST6CDT')
请帮我转换一下 UTC
至 CST
包括时间戳中的毫秒。
1条答案
按热度按时间ars1skjm1#
unix\u timestamp()函数忽略毫秒。它返回从unix时代经过的秒数。毫秒丢失。例如:
退货:
如果时间戳采用正确的格式“yyyy-mm-dd hh:mm:ss.sss”(在您的示例中,根据模板,它不需要转换),则可以正常工作:
结果:
如果时间戳的格式需要转换,解决方法是从原始时间戳中提取毫秒,并将unix\u timestamp乘以1000后得到的毫秒相加:
结果:
另一种解决方法是用毫秒串联:
结果: