SQL 入门
SQL 简介
SQL 语法
SQL 通用数据类型
SQL 语句快速参考
SQL Select 语句
SQL SELECT DISTINCT 语句
SQL Where 子句
SQL AND & OR 运算符
SQL ORDER BY 关键字
SQL INSERT INTO 语句
SQL Update 语句
SQL Delete 语句
SQL SELECT TOP, LIMIT, ROWNUM
SQL LIKE 操作符
SQL 通配符
SQL IN 操作符
SQL BETWEEN 操作符
SQL Join连接
SQL INNER JOIN 关键字
SQL LEFT JOIN 关键字
SQL RIGHT JOIN 关键字
SQL FULL OUTER JOIN 关键字
SQL UNION 操作符
SQL SELECT INTO 语句
SQL INSERT INTO SELECT 语句
SQL 高级教程
SQL 撤销索引、表以及数据库
SQL CREATE DATABASE 语句
SQL CREATE TABLE 语句
SQL ALTER TABLE 语句
SQL AUTO INCREMENT 字段
SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句
SQL Server 和 MySQL 中的 Date 函数
SQL NULL 值 – IS NULL 和 IS NOT NULL
SQL 进阶
SQL 别名
SQL 约束
SQL NOT NULL 约束
SQL UNIQUE 约束
SQL PRIMARY KEY 约束
SQL FOREIGN KEY 约束
SQL DEFAULT 约束
SQL CHECK 约束
SQL 使用连接
SQL UNION 子句
SQL NULL 值
SQL 克隆数据表
SQL 索引
SQL 子查询
SQL ALTER TABLE 命令
SQL TRUNCATE TABLE 命令
SQL 处理重复数据
SQL 使用视图
SQL 注入
SQL HAVING 子句
SQL 事务
SQL 使用序列
SQL 通配符
SQL 临时表
SQL MS Access、MySQL 和 SQL Server 数据类型
SQL 函数
SQL 日期函数
SQL 函数
SQL AVG() 函数
SQL COUNT() 函数
SQL FIELD()函数
SQL FIRST() 函数
SQL LAST() 函数
SQL MAX() 函数
SQL MIN() 函数
SQL SUM() 函数
SQL GROUP BY 语句
SQL HAVING 子句
SQL UPPER(),LOWER()函数
SQL UPPER()函数
SQL LOWER()函数
SQL UCASE() 函数
SQL LCASE() 函数
SQL MID() 函数
SQL LEN() 函数
SQL ROUND() 函数
SQL NOW() 函数
SQL FORMAT() 函数
SQL SQRT() 函数
SQL RAND() 函数
SQL CONCAT() 函数
SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
SQL REPLACE()函数
SQL TRIM()函数
SQL Server 和 MySQL 中的 Date 函数 - SQL教程 - 光年文档管理系统(Light Year Doc)
网站首页
SQL Server 和 MySQL 中的 Date 函数
## SQL Date 函数 ### SQL 日期(Dates) 当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。 只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。 在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。 ### 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 - 格式:唯一的数字 > 注释:当您在数据库中创建一个新表时,需要为列选择数据类型! 如需了解所有可用的数据类型,请访问我们完整的 [数据类型参考手册](/doc/sql_tutorial/5092.html)。 ## SQL 日期处理 如果不涉及时间部分,那么我们可以轻松地比较两个日期! 假设我们有如下的 "Orders" 表: | OrderId | ProductName | OrderDate | | --- | --- | --- | | 1 | Geitost | 2008-11-11 | | 2 | Camembert Pierrot | 2008-11-09 | | 3 | Mozzarella di Giovanni | 2008-11-11 | | 4 | Mascarpone Fabioli | 2008-10-29 | 现在,我们希望从上表中选取 OrderDate 为 "2008-11-11" 的记录。 我们使用下面的 SELECT 语句: ```sql SELECT * FROM Orders WHERE OrderDate='2008-11-11' ``` 结果集如下所示: | OrderId | ProductName | OrderDate | | --- | --- | --- | | 1 | Geitost | 2008-11-11 | | 3 | Mozzarella di Giovanni | 2008-11-11 | 现在,假设 "Orders" 表如下所示(请注意 "OrderDate" 列中的时间部分): | OrderId | ProductName | OrderDate | | --- | --- | --- | | 1 | Geitost | 2008-11-11 13:23:44 | | 2 | Camembert Pierrot | 2008-11-09 15:45:21 | | 3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 | | 4 | Mascarpone Fabioli | 2008-10-29 14:56:59 | 如果我们使用和上面一样的 SELECT 语句: ```sql SELECT * FROM Orders WHERE OrderDate='2008-11-11' ``` 那么我们将得不到结果!这是由于该查询的日期不含有时间部分。 > 提示:如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分!
上一篇:
SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句
下一篇:
SQL NULL 值 – IS NULL 和 IS NOT NULL