紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明
日期是如何存储的
每个实现都有一个默认的日期和时间存储格式,但这种默认格式一般是不同的。
日期和时间的标准数据类型
日期和时间(DATETIME)存储的标准SQL数据类型有3种。
DATE:直接存储日期。DATE 的格式是 YYYY-MM-DD,范围是从 0001-01-01 到9999-12-31。
TIME:直接存储时间。TIME 的格式是 HH:MI:SS.nn…,范围是从 00:00:00…到23:59:61.999…。
TIMESTAMP:直接存储日期和时间。TIMESTAMP 的格式是 YYYY-MM-DD HH:MI:SS.nn…,范围是从 0001-01-01 00:00:00…到 9999-12-31 23:59:61.999…。
DATETIME元素
DATETIME元素是属于日期和时间的元素,包含在DATETIME定义里。
如果数据以DATETIME格式存储在数据库里,像闰秒和闰年这样的日期调整是由数据库在内部完成的。
不同实现的日期类型
日期函数
日期函数在每个不同实现里是有所区别的。类似于字符串函数,日期函数用于调整日期和时间数据的外观,以适当的方式显示日期和时间数据、进行比较、计算日期之间的间隔等。
每种实现都有自己的数据类型来存储日期和时间信息,但大多数实现遵循ANSI标准,也就是说日期和时间的全部元素都保存在相关的数据类型里。日期实际的存储方式是取决于具体实现的。
当前日期
语法:
Microsoft SQL Server
MySQL
Oracle
时区
常见的时区及其缩写
时间与日期相加
日、月以及时间的其他组成部分可以加到日期上,从而进行日期比较或是在WHERE子句里提供更精确的条件。
例:
Microsoft SQL Server
Oracle
MySQL
其他日期函数
日期转换
很多原因都会导致进行日期转换,主要用于转换定义为 DATETIME 的数据类型,或是具体实现中其他的数据类型。
进行日期转换的典型原因有:
比较不同数据类型的日期值。
把日期值格式化为字符串。
把字符串转化为日期格式。
ANSI的CAST操作符可以把一种数据类型转换为另一种,其基本语法:
日期描述
日期描述由格式元素组成,用于从数据库以期望的格式提取日期和时间信息。日期描述并不是在所有实现里都存在。
常见日期元素
日期转换为字符串
日期转换为字符串是为了改变日期在查询中的输出形式,它是通过使用转换函数实现的。
例:
SQL Server
Oracle
字符串转换为日期
例:
MySQL
Microsoft SQL Server