![](/img/trans.png)
[英]Netezza - How to convert timestamp/datetime to 13-digit UNIX time millis?
[英]How to convert 13 digit timestamp to date and time format in mssql
我正在尝试存储13位时间戳以在MS SQL表中存储日期时间格式。 我已经尝试了很多方法,还搜索了SO帖子,对我没有帮助。
输入代码: 1525939481255
所需格式 : DD-MM-YYYY HH:MM:SS (12 hour time format)
我想将上面的13位代码转换为上面提到的格式。 谁能帮我解决这个问题?
我假设这是毫秒级的Unix时间,所以请尝试此查询
select CONVERT(VARCHAR(10),DATEADD(SECOND, 1525939481255/1000 ,'1970/1/1'),105)
抱歉,我错过了时间格式,
试试这个
select CONVERT(VARCHAR(10),DATEADD(SECOND, 1525939481255/1000 ,'1970/1/1'),105) + ' ' + FORMAT(DATEADD(SECOND, 1525939481255/1000 ,'1970/1/1'),'h:mm:ss tt')
CMIIW,如果有帮助,请告诉我。
尝试这个:
declare varchar(max) myDateTime = select dateadd(second, 1525939481255/1000 + 8*60*60, '19700101');
SELECT REPLACE(
REPLACE(
RIGHT(
'0000000000' +
CONVERT(
varchar(10),
cast(myDateTime as time(0)),
109),
10),
'PM',
' p.m.'),
'AM',
' a.m.') as 'Time'
, reverse(Left(myDateTime, 10)) as 'date'
UNIX时间可以转换为正常的日期时间,并将其格式设置为您期望的格式,如下所示:
DECLARE @DateValue AS BIGINT = 1525939481255;
SELECT CONVERT(VARCHAR(10), DATEADD(SECOND, @DateValue/1000 ,'1970/1/1'), 105) + ' ' +
CONVERT(VARCHAR(15), CAST(DATEADD(SECOND, @DateValue/1000 ,'1970/1/1') AS TIME), 100)
输出:
10-05-2018 8:04AM
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.