我的表带有EPOCH日期系统,我只想选择上个月的数据。我已经用谷歌搜索了很多,但是我发现的唯一结果与日期时间系统有关。你能帮忙吗?
我将使用此SQL查询将数据导入Power BI。
答案 0 :(得分:1)
您可以将Unix纪元(自1970年1月1日以来的秒数)转换为日期,如下所示:
TO_DATE('01/01/1970', 'dd/mm/yyyy') + epoch_column / 60 / 60 / 24
该部门将纪元转换为可以添加到原始日期的天数。
如果要在上个月进行过滤,则:
TO_DATE('01/01/1970', 'dd/mm/yyyy') + epoch_column / 60 / 60 / 24
BETWEEN ADD_MONTHS(TRUNC(sysdate, 'mm'), -1)
AND LAST_DAY(ADD_MONTHS(TRUNC(sysdate, 'mm'), -1))
或者更好:
epoch_column
BETWEEN
(
ADD_MONTHS(TRUNC(sysdate, 'mm'), -1)
- TO_DATE('01/01/1970', 'dd/mm/yyyy')
) * 60 * 60 * 24
AND (
LAST_DAY(ADD_MONTHS(TRUNC(sysdate, 'mm'), -1))
- TO_DATE('01/01/1970', 'dd/mm/yyyy')
) * 60 * 60 * 24
此解决方案应该更有效,因为不会对要过滤的列执行任何操作,因此它应该能够利用epoch_column
上的现有索引。
答案 1 :(得分:1)
您可以使用RSSI=` chat -V -s '' 'AT+csq' 'OK' > /dev/ttyUSB3 < /dev/ttyUSB3 | sed 's/[^0-9]*//g' `
echo $RSSI
convert your date range to an epoch(假设您的纪元自1970年以来以秒为单位)。
您要查找的值大于或等于上个月初和本月初之前的值:
( date_to_convert - DATE '1970-01-01' ) * 24 * 60 * 60
如果使用上个月最后一天的午夜作为上限,那么您将错过该天的但午夜之后的所有值。