Sql 简明教程
SQL - Date & Time
SQL 提供多种数据类型和函数来处理数据库中的 Date and Time 值。这是因为日期和时间值以各种格式表示。例如,有两种表示日期值的方法: DD/MM/YYYY 和 MM/DD/YYYY 。类似地,有多种表示时间值的方法。
为了让数据库识别以任何格式给出的此类数据,我们使用多种数据类型和函数。
不同的数据库系统使用不同的数据类型和函数来存储和处理日期和时间数据。
Date & Time Datatypes in SQL
日期和时间数据类型用于 SQL,以多种格式存储日期和时间值。SQL 中可用的数据类型如下所示。
S.No. |
Datatype & Description |
Storage |
1 |
datetime 它以 3.33 毫秒的精度存储从 1753 年 1 月 1 日到 9999 年 12 月 31 日之间的日期和时间;格式为:YYYY-MM-DD HH:MI:SS。 |
8 bytes |
2 |
datetime2 它以 100 纳秒的精度存储 0001 年 1 月 1 日到 9999 年 12 月 31 日之间的日期和时间。 |
6 - 8 bytes |
3 |
smalldatetime 它以 1 分钟的精度存储 1900 年 1 月 1 日到 2079 年 6 月 6 日之间的日期和时间。以 YYYY-MM-DD HH:MI:SS 的格式存储。 |
4 bytes |
4 |
date 它在 YYYY-MM-DD 的格式中只存储从 0001 年 1 月 1 日到 9999 年 12 月 31 日之间的日期。 |
3 bytes |
5 |
time 它只以 100 纳秒的精度存储时间。 |
3 - 5 bytes |
6 |
datetimeoffset与datetime2相同,它增加了时区偏移量。 |
8 - 10 bytes |
7 |
timestamp它存储一个唯一数字,每当创建或修改一行时,该数字都会更新。它不对应于真实时间,而基于内部时间。每个表只能有一个时间戳变量。 |
Date & Time Functions in SQL
SQL还提供了许多函数来处理日期和时间值。
例如,有不同的函数以不同的格式检索当前时间戳。让我们在下面看看其中的一些函数−
CURDATE() Function
若要获取当前日期,我们在MySQL中使用CURDATE()函数。结果日期的格式将是“YYYY-MM-DD”(字符串)或YYYYMMMDD(数字)。
SELECT CURDATE();
NOW() Function
MySQL NOW()函数会根据上下午检索当前日期和时间值作为时间戳,且返回的值将采用以下两种格式之一:“YYYY-MM-DD hh:mm:ss”和“YYYYMMDDhhmmss”。
SELECT NOW();