- SQL教程
- SQL - 主页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL数据库
- SQL-创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL-备份数据库
- SQL表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 截断表
- SQL - 克隆表
- SQL - 临时表
- SQL - 更改表
- SQL - 删除表
- SQL - 删除表
- SQL - 约束
- SQL查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - 选择进入
- SQL - 插入选择
- SQL - 更新查询
- SQL - 删除查询
- SQL - 对结果进行排序
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL-Where 子句
- SQL - 顶部子句
- SQL - 不同子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL-Having 子句
- SQL - 与与或
- SQL - 布尔(位)运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY、ALL 运算符
- SQL - EXISTS 运算符
- SQL-案例
- SQL - NOT 运算符
- SQL - 不等于
- SQL - 为空
- SQL - 不为空
- SQL - 非空
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION 与 UNION ALL
- SQL - 相交运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用联接
- SQL-内连接
- SQL-左连接
- SQL-右连接
- SQL-交叉连接
- SQL-全连接
- SQL-自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接与右连接
- SQL - 联合与连接
- SQL 键
- SQL - 唯一键
- SQL - 主键
- SQL-外键
- SQL - 复合键
- SQL - 备用键
- SQL索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL-唯一索引
- SQL - 聚集索引
- SQL - 非聚集索引
- 高级SQL
- SQL - 通配符
- SQL - 注释
- SQL-注入
- SQL-托管
- SQL - 最小值和最大值
- SQL - 空函数
- SQL - 检查约束
- SQL - 默认约束
- SQL-存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL-自动递增
- SQL - 日期和时间
- SQL-游标
- SQL - 公用表表达式
- SQL - 分组依据与排序依据
- SQL - IN 与 EXISTS
- SQL——数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数字函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL-JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问题与解答
- SQL - 快速指南
- SQL - 有用的函数
- SQL - 有用的资源
- SQL - 讨论
SQL - 日期和时间
SQL 提供多种数据类型和函数来处理数据库中的日期和时间值。这是因为日期和时间值以各种格式表示。例如,有两种常见的方式来表示日期值:DD/MM/YYYY和MM/DD/YYYY。同样,表示时间值的方法也不止一种。
为了使数据库能够识别以任何格式给出的此类数据,我们使用多种数据类型和函数。
将日期和时间数据存储在数据库中的唯一棘手的部分是确保将值插入到具有与数据类型相同格式的表中。
不同的数据库系统使用不同的数据类型和函数来存储和处理日期和时间数据。
SQL 中的日期和时间数据类型
SQL 中使用日期和时间数据类型以各种格式存储日期和时间值。下面列出了 SQL 中可用的数据类型。
编号 | 数据类型和描述 | 贮存 |
---|---|---|
1 | 约会时间 它存储从1753年1月1日到9999年12月31日的日期和时间,精度为3.33毫秒;格式为:YYYY-MM-DD HH:MI:SS。 |
8字节 |
2 | 日期时间2 它存储从 0001 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间,精度为 100 纳秒。 |
6 - 8 字节 |
3 | 小日期时间 它存储从1900年1月1日到2079年6月6日的日期和时间,精度为1分钟。存储格式为YYYY-MM-DD HH:MI:SS。 |
4字节 |
4 | 日期 它仅存储从 0001 年 1 月 1 日到 9999 年 12 月 31 日的日期,格式为:YYYY-MM-DD。 |
3字节 |
5 | 时间 它存储时间的精度仅为 100 纳秒。 |
3 - 5 字节 |
6 | 日期时间偏移量 它与 datetime2 相同,只是添加了时区偏移量。 |
8 - 10 字节 |
7 | 时间戳 它存储每次创建或修改行时都会更新的唯一编号。它不对应于实时时间,而是基于内部时间。每个表可能只有一个时间戳变量。 |
例子
在以下示例中,让我们创建一个名为 SALES_DETAILS 的表,该表仅接受不同格式的日期和时间值。
CREATE TABLE SALES_DETAILS( orderDate DATE, shippingDate DATETIME, deliveredDate TIMESTAMP, time TIME );
要将值插入到该表中,请使用以下查询 -
INSERT INTO SALES_DETAILS VALUES ('2023-02-01', '2023-02-01 :10:00','2023-02-03 :18:00', '18:00');
输出
该表将创建如下 -
订购日期 | 发货日期 | 交付日期 | 时间 |
---|---|---|---|
2023-02-01 | 2023-02-01 :10:00 | 2023-02-03 :18:00 | 18:00 |
SQL 中的日期和时间函数
SQL 还提供了多个函数来处理日期和时间值。
例如,有不同的函数可以以不同的格式检索当前时间戳。让我们看看下面的一些这样的函数 -
CURDATE() 函数
为了获取当前日期,我们使用 MySQL 中的 CURDATE() 函数。结果日期的格式将为“YYYY-MM-DD”(字符串)或 YYYYMMMDD(数字)。
SELECT CURDATE();
输出
当我们执行上面的查询时,我们得到当前日期 -
库达特() |
---|
2023-08-22 |
NOW() 函数
MySQL NOW() 函数将根据上下文检索当前日期和时间值作为时间戳,返回的值将采用以下两种格式之一:“YYYY-MM-DD hh:mm:ss”和“YYYYMMDDhhmmss” '。
SELECT NOW();
输出
当我们执行上面的 SQL 查询时,我们得到当前日期和时间,如下所示:
现在() |
---|
2023-08-22 15:30:25 |
CURRENT_TIMESTAMP() 函数
MySQL CURRENT_TIMESTAMP() 函数用于获取当前时间戳。返回的值将采用“YYYY-MM-DD hh:mm:ss”(字符串)或 YYYYMMDDhhmmss(数字)格式。该函数是 NOW() 的同义词。
SELECT CURRENT_TIMESTAMP();
输出
当我们运行上面的 SQL 查询时,我们得到以下输出 -
CURRENT_TIMESTAMP() |
---|
2023-08-22 15:31:32 |