Sql server 将历元时间转换为SQL Server日期时间,并获取当前日期-3的数据
这个问题在这个论坛上被问了好几次。但我没有找到解决这个问题的办法Sql server 将历元时间转换为SQL Server日期时间,并获取当前日期-3的数据,sql-server,tsql,Sql Server,Tsql,这个问题在这个论坛上被问了好几次。但我没有找到解决这个问题的办法 select dateadd(ms, CAST (1430607256000 AS BIGINT), '1970-01-01 00:00:00.0'); 我正在尝试以人类可读的格式获取此文件。但我得到了以下错误: [22003][FreeTDS][SQL Server]将表达式转换为数据类型int时发生算术溢出错误 我实际上需要介于当前日期-300:00:00和当前日期-3 23:59:59之间的日期 我是Oracle人,对sq
select dateadd(ms, CAST (1430607256000 AS BIGINT), '1970-01-01 00:00:00.0');
我正在尝试以人类可读的格式获取此文件。但我得到了以下错误:
[22003][FreeTDS][SQL Server]将表达式转换为数据类型int时发生算术溢出错误
我实际上需要介于当前日期-300:00:00和当前日期-3 23:59:59之间的日期
我是Oracle
人,对sqlserver
不熟悉。请帮忙
我的Oracle
查询是:
SELECT TRIM(datecol)
FROM transactions
WHERE datecol BETWEEN (((TO_DATE(TO_CHAR(CURRENT_DATE+INTERVAL '-3'DAY, 'DD MON YYYY')||' '||'00:00:00','DD MON YYYY HH24:MI:SS') - TO_DATE('1970-01-01','YYYY-MM-DD')) * 86400000) + 14400000) AND (((TO_DATE(TO_CHAR(CURRENT_DATE+INTERVAL '-3'DAY, 'DD MON YYYY')||' '||'23:59:59','DD MON YYYY HH24:MI:SS') - TO_DATE('1970-01-01','YYYY-MM-DD')) * 86400000) + 14400000);
试试这个:
首先将毫秒
更改为分钟
(1430607256000/60000),并将其添加到日期
值中
SELECT DATEADD(MINUTE,1430607256000/60000,'1970-01-01 00:00:00.0');
输出:
2015-05-02 22:54:00.000
您使用的是哪个Sql server版本