
11.2.6 时间值的小数秒
发布日期:2021-05-08 00:27:40
浏览次数:14
分类:精选文章
本文共 1681 字,大约阅读时间需要 5 分钟。
官方文档地址:
MySQL 支持小数秒的 TIME,DATETIME 和 TIMESTAMP 值,最多微秒(6 位)精度:
(1)要定义包含小数秒部分的列,使用语法type_name(fsp)
,其中type_name
是 TIME、DATETIME 或 TIMESTAMP,fsp
是小数秒精度。例如:
CREATE TABLE t1 ( t TIME(3), dt DATETIME(6));
如果给定fsp
值,必须在 0 到 6 的范围内。值为 0 表示没有小数部分。如果省略,默认精度为 0。(这与标准 SQL 默认值 6 不同,以兼容以前的 MySQL 版本。)
(2)在相同小数秒精度的列中插入带有小数部分的 TIME、DATETIME 或 TIMESTAMP 值,精度小于小数部分,会导致舍入。虑如下创建并填充的表:
CREATE TABLE fractest( c1 TIME(2), c2 DATETIME(2), c3 TIMESTAMP(2) );INSERT INTO fractest VALUES('17:51:04.777', '2018-09-08 17:51:04.777', '2018-09-08 17:51:04.777');
用舍入的方式将时间值插入到表中:
mysql> SELECT * FROM fractest;+-------------+------------------------+------------------------+| c1 | c2 | c3 |+-------------+------------------------+------------------------+| 17:51:04.78 | 2018-09-08 17:51:04.78 | 2018-09-08 17:51:04.78 |+-------------+------------------------+------------------------+
发生这种舍入时不会给出警告或错误。此行为遵循 SQL 标准。
要使用截断插入值,启用TIME_TRUNCATE_FRACTIONAL
SQL 模式:
SET @@sql_mode = sys.list_add(@@sql_mode, 'TIME_TRUNCATE_FRACTIONAL');
启用该 SQL 模式后,时间值将通过截断插入:
mysql> SELECT * FROM fractest;+-------------+------------------------+------------------------+| c1 | c2 | c3 |+-------------+------------------------+------------------------+| 17:51:04.77 | 2018-09-08 17:51:04.77 | 2018-09-08 17:51:04.77 |+-------------+------------------------+------------------------+
(3)接受时间参数的函数接受以秒为单位的值。时间函数的返回值包括小数秒。例如,不带参数的NOW()
返回不带小数部分的当前日期和时间,但接受一个从 0 到 6 的可选参数,以指定返回值包括的小数部分位数。
(4)时态文字的语法产生时态值:DATE 'str'
,TIME 'str'
,和 TIMESTAMP 'str'
和 ODBC 语法等价。如果指定了,结果值包括末尾的小数秒部分。在以前,忽略了时态类型关键字,这些构造生成了字符串值。参见 的标准 SQL 和 ODBC 日期和时间文字。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月26日 07时34分49秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
不编译只打包system或者vendor image命令
2019-03-09
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
2019-03-09
flink启动(二)
2019-03-09
pair的用法
2019-03-09
Flex 布局的自适应子项内容过长导致其被撑大问题
2019-03-09
PL/SQL 动态Sql拼接where条件
2019-03-09
Lua-table 一种更少访问的安全取值方式
2019-03-09
虚函数
2019-03-09
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2019-03-09
【二叉树】已知后序与中序求先序
2019-03-09
广东外语外贸大学第三届网络安全大赛Writeup
2019-03-09
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10
Thymeleaf sec:authorize 标签不生效
2019-03-11
微信JS-SDK DEMO页面和示例代码
2019-03-11
一张图搞定RPC框架核心原理
2019-03-11
他来了他来了,他带着云栖大会的免费门票走来了
2019-03-11
获取linux 主机cpu类型
2019-03-11