Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将历元时间转换为SQL Server日期时间,并获取当前日期-3的数据_Sql Server_Tsql - Fatal编程技术网

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版本