获取行时间戳列为2天的行

时间:2010-01-26 00:07:08

标签: sql sqlite timestamp

嘿伙计们,我有一个表,其中包含一个带有sqlite3中时间戳的列。默认为CURRENT_TIMESTAMP,以便在插入行时插入当前时间。现在我正在尝试获取2天前或更早插入的行。我想知道这是否有意义。

阅读我提出的documentation

SELECT * FROM test WHERE timestamp < strftime('%s', '-2 days')

但显然这是错的。我想出了这个查询,因为这与我在实际代码中进行测试的方式类似:

strtotime($timestamp) < strtotime("-2 days")

但我希望sqlite3包含一些针对此类情况的内置检查。

谢谢,我感谢任何回复。

编辑:想出来:SELECT * FROM test WHERE timestamp < date('now', '-2 days')

如果有人能提出更好的建议,我会保持这种状态。

3 个答案:

答案 0 :(得分:4)

在postgres中(我知道它不是你的平台,但我在这里发帖供别人参考),你也可以做以下事情:

SELECT * FROM test WHERE my_timestamp < NOW() - INTERVAL '2 DAY';

答案 1 :(得分:1)

所以我想我明白了,它对我来说很好。我不知道这是否是最好的方式,但看起来非常简单,就像我说的那样,有效:

SELECT * FROM test WHERE timestamp < date('now', '-2 days')

答案 2 :(得分:0)

<?xml version="1.0"?>
<layout>
    <adminhtml_catalog_product_new>
        <reference name="product_tabs">
            <action method="addTab">
                <name>my_custom_tab</name>
                <block>customtabs/adminhtml_catalog_product_tab</block>
            </action>
        </reference>
    </adminhtml_catalog_product_new>

    <adminhtml_catalog_product_edit>
        <reference name="product_tabs">
            <action method="addTab">
                <name>my_custom_tab</name>
                <block>customtabs/adminhtml_catalog_product_edit</block>
            </action>
        </reference>
    </adminhtml_catalog_product_edit>
</layout>

其中数据格式应采用链接

中提到的以下格式之一

https://www.sqlite.org/lang_datefunc.html