oracle sql 将13位long类型毫秒时间戳转换成时间字符串
可以使用Oracle SQL的TO_TIMESTAMP
函数将13位long类型毫秒时间戳转换成时间字符串,具体语法如下:
SELECT TO_CHAR(TO_TIMESTAMP('epoch_time' / 1000), 'YYYY-MM-DD HH24:MI:SS.FF')
FROM dual;
其中,epoch_time
表示13位long类型毫秒时间戳,/ 1000
用于将毫秒转换成秒,TO_TIMESTAMP
函数将秒数转换成时间戳格式,TO_CHAR
函数将时间戳格式转换成指定的时间字符串格式,'YYYY-MM-DD HH24:MI:SS.FF'
表示时间字符串的格式。
例如,假设要将毫秒时间戳1634056092123
转换成时间字符串,可以执行以下SQL语句:
SELECT TO_CHAR(TO_TIMESTAMP('1634056092123' / 1000), 'YYYY-MM-DD HH24:MI:SS.FF')
FROM dual;
执行结果为:
2021-10-12 18:14:52.123000
oracle sql 将13位long类型毫秒时间戳的其他字段转换成时间字符串后更新到另一个字段
你可以使用Oracle的TO_CHAR
函数将毫秒时间戳转换为时间字符串,然后使用UPDATE
语句将该值更新到另一个字段。具体操作步骤如下:
假设你要更新的表名为
my_table
,包含两个字段timestamp_millis
和timestamp_str
,其中timestamp_millis
为13位long类型毫秒时间戳,timestamp_str
为时间字符串。使用以下SQL语句将
timestamp_millis
转换为时间字符串并更新到timestamp_str
字段:UPDATE my_table SET timestamp_str = TO_CHAR(TO_TIMESTAMP(timestamp_millis/1000), 'YYYY-MM-DD HH24:MI:SS.FF3')
该语句将先将毫秒时间戳转换为秒级时间戳(因为Oracle中的时间戳是以秒为单位的),再使用
TO_TIMESTAMP
函数将其转换为时间戳类型,最后使用TO_CHAR
函数将其转换为指定格式的时间字符串。注意,在
TO_CHAR
函数中,YYYY-MM-DD HH24:MI:SS.FF3
表示时间字符串的格式,其中:YYYY
表示年份;MM
表示月份;DD
表示日期;HH24
表示小时(24小时制);MI
表示分钟;SS
表示秒;FF3
表示毫秒。
如果需要其他格式的时间字符串,可以根据需要修改
TO_CHAR
函数中的格式参数。
希望这个回答对你有帮助!
相关推荐
















