Vik*_*ram 4 mysql select date-arithmetic
在我的数据库表中,我有一个日期字段(varchar字段以yy-mm-dd格式保存日期),现在我想选择两周前的记录.我该怎么做 ?
隐式日期算法在MySQL中相当灵活.您可以在不明确使用CAST()or的情况下将日期比较为字符串DATE(),但您信任MySQL以正确解释您的格式.幸运的是,它会做得很好yy-mm-dd.
我建议使用BETWEEN,INTERVAL以便您的查询易于阅读; 例如:
SELECT * FROM Holidays
WHERE Date BETWEEN (NOW() - INTERVAL 14 DAY) AND NOW();
Run Code Online (Sandbox Code Playgroud)
唯一的技巧BETWEEN是你必须先将下限和第二个上限放在第二位; 例如,如果你写BETWEEN 5 AND 2,这总是评估为,FALSE因为没有值可以大于或等于5,同时也小于或等于2.
下面是SQL Fiddle中的查询实例演示,以及MySQL 中已识别INTERVAL表达式的列表.
请注意,表达式周围的括号NOW() - INTERVAL 14 DAY不是必需的,但为了清楚起见,我建议在这里纯粹使用它们.它使谓词子句在没有正确语法突出显示的情况下更容易阅读,但代价是两个字符.
| 归档时间: |
|
| 查看次数: |
9055 次 |
| 最近记录: |