0

我需要从最后一天的 DB scadalts 获取数据。

我在表 pointValues 中有数据,其中列 pointValue 和 ts 但不是时间戳。

ts是类型BIGINT(20)

检查 ts 是 unixtime

     SELECT 
        pointValue,
        ts, 
        from_unixtime(ts),
        YEAR(from_unixtime(ts)),
        MONTH(from_unixtime(ts)),
        DAY(from_unixtime(ts))
     FROM 
        pointValues;

结果null是错误的不是unixtime。

我不知道如何创建条件where,因为 - 我不知道如何解释 column 中的值ts

4

1 回答 1

1

ts应该更准确地解释列。

例如:

SELECT 
    pointValue,
    ts, 
    from_unixtime(ts/1000),
    YEAR(from_unixtime(ts/1000)),
    MONTH(from_unixtime(ts/1000)),
    DAY(from_unixtime(ts/1000))
 FROM 
    pointValues;

我们可能会从最后一天获得价值,例如:

SELECT 
    pointValue,
    ts, 
    YEAR(from_unixtime(ts/1000)),
    MONTH(from_unixtime(ts/1000)),
    DAY(from_unixtime(ts/1000))
FROM 
    pointValues
WHERE
    YEAR(from_unixtime(ts/1000)) = YEAR(NOW() - INTERVAL 1 day) and
    MONTH(from_unixtime(ts/1000)) = MONTH(NOW() - INTERVAL 1 day) and
    DAY(from_unixtime(ts/1000)) = DAY(NOW() - INTERVAL 1 day)

谢谢

也许它也会有用

于 2017-07-18T13:00:59.037 回答