Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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 过去7天Unix/Redshift筛选器不工作_Sql_Unix_Amazon Redshift_Epoch - Fatal编程技术网

Sql 过去7天Unix/Redshift筛选器不工作

Sql 过去7天Unix/Redshift筛选器不工作,sql,unix,amazon-redshift,epoch,Sql,Unix,Amazon Redshift,Epoch,这个查询发生在Redshift中,它的SQL特性让我抓狂 我的表中有一个UNIX历元时间戳,我需要筛选最近七天的时间。Redshift缺少from_unixtime函数,所以我将其整合在一起。tb_h是UNIX日期列。604800000是七天内的毫秒数 tb_h>=日期,日期添加毫秒,-604800000,日期添加日,-1,truncgetdate 此解决方案不过滤最后七个日期,它允许所有日期通过。我的逻辑错误是什么?如果使用更合理的减法类型,会发生什么 "tb_h" >= DATE_PA

这个查询发生在Redshift中,它的SQL特性让我抓狂

我的表中有一个UNIX历元时间戳,我需要筛选最近七天的时间。Redshift缺少from_unixtime函数,所以我将其整合在一起。tb_h是UNIX日期列。604800000是七天内的毫秒数

tb_h>=日期,日期添加毫秒,-604800000,日期添加日,-1,truncgetdate


此解决方案不过滤最后七个日期,它允许所有日期通过。我的逻辑错误是什么?

如果使用更合理的减法类型,会发生什么

"tb_h" >= DATE_PART(epoch, DATEADD(day, -7, DATEADD(day, -1, CURRENT_DATE)))
其次,在Postgres中,epoch返回秒数——我不确定红移是否相同。如果值以毫秒或微秒为单位,则需要乘以:

"tb_h" >= 1000 * DATE_PART(epoch, DATEADD(day, -8, CURRENT_DATE))

不幸的是,这两种解决方案都不起作用,顶部的方案返回所有日期,底部的方案什么也不返回。我将继续测试它们,并尝试让它们工作。我的时间戳是13位数字,以毫秒为单位。问题是时间戳字段实际上不是时间戳数据类型,而是记录为BIGINT