假设我们有字段:id | 内容| updateTime | 创建时间
插入完成后,updateTime和creationTime都会填充当前时间.在更新时,仅更新updateTime字段.当我需要找到'2012-06-28'上创建的所有数据时,我只需使用:
SELECT id, content FROM tbl WHERE creationTime LIKE '2012-06-28%'`
Run Code Online (Sandbox Code Playgroud)
但要获取所有已更新的数据(不包括创建的数据),我需要使用以下内容:
SELECT id, content FROM tbl WHERE creationTime LIKE '2012-06-28%' AND creationTime != updateTime
Run Code Online (Sandbox Code Playgroud)
显然,这不起作用.虽然我可以通过比较php中两个'时间'列的值来找到所有更新的数据,但我仍然喜欢在查询中进行.
UPD:事实证明,我完全没有意识到sql不仅允许将字段的值与给定变量,数字进行比较......而且还可以将一个字段的值与另一个字段的值进行比较.
<>改为使用!=(与某些DMBS不兼容)
所以
SELECT id, content
FROM tbl
WHERE creationTime LIKE '2012-06-28%' AND creationTime <> updateTime
Run Code Online (Sandbox Code Playgroud)
如果您需要一些文档,可以在这里找到
但是,您的查询必须正常使用 !=