SQL 日期

当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。

只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。

在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。

MySQL Date 函数

下面的表格列出了 MySQL 中最重要的内建日期函数:

函数 描述
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间按的单独部分
DATE_ADD() 给日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间

SQL 日期处理

如果不涉及时间部分,那么我们可以轻松地比较两个日期!

假设我们有下面这个 "Orders" 表:

OrderId ProductName OrderDate
1 computer 2008-12-26
2 printer 2008-12-26
3 electrograph 2008-11-12
4 telephone 2008-10-19

现在,我们希望从上表中选取 OrderDate 为 "2008-12-26" 的记录。

我们使用如下 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

结果集:

OrderId ProductName OrderDate
1 computer 2008-12-26
3 electrograph 2008-12-26

现在假设 "Orders" 类似这样(请注意 "OrderDate" 列中的时间部分):

OrderId ProductName OrderDate
1 computer 2008-12-26 16:23:55
2 printer 2008-12-26 10:45:26
3 electrograph 2008-11-12 14:12:08
4 telephone 2008-10-19 12:56:10

如果我们使用上面的 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

那么我们得不到结果。这是由于该查询不含有时间部分的日期。

提示:如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分!

最新文章

  1. 关于把.net 2.0的项目升级到.net4.0遇到的一些问题
  2. zynq中uboot的qspi启动报错及解决办法
  3. 记录遇到的Python陷阱和注意点
  4. AC日记——找第一个只出现一次的字符 openjudge 1.7 02
  5. mac10.9+php5.5.15+brew0.9.5的安装
  6. Html - 圆圈border
  7. 深入浅出ExtJS 第六章 布局
  8. Django中url的生成过程详解
  9. Android OpenGL ES 开发(四): OpenGL ES 绘制形状
  10. 向 Nginx 主进程发送 USR1 信号
  11. Android--记录莫名其妙的引用、依赖冲突解决办法
  12. PHP array_combine()
  13. c# 读取xml 某个节点值
  14. Spark集群之yarn提交作业优化案例
  15. Hadoop Mapreduce 案例 wordcount+统计手机流量使用情况
  16. php $_FILES处理文件上传
  17. 【noip模拟赛1】古韵之乞巧 (dp)
  18. 基于FPGA的DDS设计(一)
  19. ArcGIS_Server的安装
  20. Android的移动存储解决方案之SharedPreferences

热门文章

  1. 如果有人问你ZooKeeper是什么,就把这篇文章发给他。
  2. 计算机信息类ComputerInfo
  3. matlab滤波器的设计
  4. 一次SQL Server 10054 Troubleshooting
  5. RESTful Get方式传参json格式后端400 解决方案
  6. w3cschool在线教程
  7. yii2史上最简单式安装教程,没有之一(转)
  8. java实现一个最简单的tomcat服务
  9. yum安装报错“rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1e5e0159”
  10. Scanner 的练习 。。。。依然不懂用法。。。苦恼