SQL 1 : SQL 教程 2 : SQL 简介 3 : SQL 语法 4 : SQL SELECT 语句 5 : SQL SELECT DISTINCT 6 : SQL WHERE 子句 7 : SQL AND & OR 运算符 8 : SQL ORDER BY 关键字 9 : SQL INSERT INTO 10 : SQL UPDATE 语句 11 : SQL DELETE 语句 12 : SQL SELECT TOP, LIMIT, ROWNUM 13 : SQL LIKE 操作符 14 : SQL 通配符 15 : SQL IN 操作符 16 : SQL BETWEEN 操作符 17 : SQL 别名 18 : SQL 连接(JOIN) 19 : SQL INNER JOIN 关键字 20 : SQL LEFT JOIN 关键字 21 : SQL RIGHT JOIN 关键字 22 : SQL FULL OUTER JOIN 23 : SQL UNION 操作符 24 : SQL SELECT INTO 25 : SQL INSERT INTO SELECT 26 : SQL CREATE DATABASE 27 : SQL CREATE TABLE 28 : SQL 约束 29 : SQL NOT NULL 约束 30 : SQL UNIQUE 约束 31 : SQL PRIMARY KEY 32 : SQL FOREIGN KEY 33 : SQL CHECK 约束 34 : SQL DEFAULT 约束 35 : SQL CREATE INDEX 36 : SQL 撤销索引、表以及数据库 37 : SQL ALTER TABLE 38 : SQL AUTO INCREMENT 39 : SQL 视图 (Views) 40 : SQL Server 和 MySQL 中的 Date 函数 41 : SQL NULL 值 – IS NULL 和 IS NOT NULL 42 : SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数 43 : SQL 通用数据类型 44 : SQL MS Access、MySQL 和 SQL Server 数据类型 45 : SQL 函数 46 : SQL AVG() 函数 47 : SQL COUNT() 函数 48 : SQL FIRST() 函数 49 : SQL LAST() 函数 50 : SQL MAX() 函数 51 : SQL MIN() 函数 52 : SQL SUM() 函数 53 : SQL GROUP BY 语句 54 : SQL HAVING 子句 55 : SQL UCASE() 函数 56 : SQL LCASE() 函数 57 : SQL MID() 函数 58 : SQL LEN() 函数 59 : SQL ROUND() 函数 60 : SQL NOW() 函数 61 : SQL FORMAT() 函数 62 : SQL 快速参考 63 : SQL 主机 64 : SQL 总结

SQL Date 函数


SQL 日期(Dates)

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

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

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


MySQL Date 函数

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

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



SQL Server Date 函数

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

函数描述
GETDATE()返回当前的日期和时间
DATEPART()返回日期/时间的单独部分
DATEADD()在日期中添加或减去指定的时间间隔
DATEDIFF()返回两个日期之间的时间
CONVERT()用不同的格式显示日期/时间



SQL Date 数据类型

MySQL 使用下列数据类型在数据库中存储日期或日期/时间值:

  • DATE - 格式:YYYY-MM-DD

  • DATETIME - 格式:YYYY-MM-DD HH:MM:SS

  • TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS

  • YEAR - 格式:YYYY 或 YY

SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:

  • DATE - 格式:YYYY-MM-DD

  • DATETIME - 格式:YYYY-MM-DD HH:MM:SS

  • SMALLDATETIME - 格式:YYYY-MM-DD HH:MM:SS

  • TIMESTAMP - 格式:唯一的数字

注释:当您在数据库中创建一个新表时,需要为列选择数据类型!

如需了解所有可用的数据类型,请访问我们完整的 数据类型参考手册。


SQL 日期处理

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

假设我们有如下的 "Orders" 表:

OrderIdProductNameOrderDate
1Geitost2008-11-11
2Camembert Pierrot2008-11-09
3Mozzarella di Giovanni2008-11-11
4Mascarpone Fabioli2008-10-29

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

我们使用下面的 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

结果集如下所示:

OrderIdProductNameOrderDate
1Geitost2008-11-11
3Mozzarella di Giovanni2008-11-11

现在,假设 "Orders" 表如下所示(请注意 "OrderDate" 列中的时间部分):

OrderIdProductNameOrderDate
1Geitost2008-11-11 13:23:44
2Camembert Pierrot2008-11-09 15:45:21
3Mozzarella di Giovanni2008-11-11 11:12:01
4Mascarpone Fabioli2008-10-29 14:56:59

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

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

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

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


关注极客云图了解更多内容