
11.2.6 时间值的小数秒
发布日期:2021-05-08 00:27:40
浏览次数:7
分类:精选文章
本文共 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 日期和时间文字。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年03月20日 19时15分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
6.14编一个程序,将两个字符串s1和s2比较,不要用strcmp函数。
2021-05-08
如何解决vscode检测到#include错误,请更新includePath。
2021-05-08
1007 Maximum Subsequence Sum (25分) Python解法
2021-05-08
Java纯文本文件显示工具制作
2021-05-08
1035 Password (20分)
2021-05-08
Unity2D Fixed Joint 2D详解
2021-05-08
Unity Shader之路(五)创建第一个顶点/片元着色器?
2021-05-08
L3-008 喊山 (30分) C++ BFS题解
2021-05-08
Web框架——Flask系列之Flask-SQLAlchemy数据库的基本操作(九)
2021-05-08
LeetCode 每日一题 766. 托普利茨矩阵
2021-05-08
LeetCode 每日一题 131. 分割回文串 dfs
2021-05-08
六、Numpy的使用(详解)
2021-05-08
python爬虫——代理IP
2021-05-08
二、bootstrap4基础(flex布局)
2021-05-08
三、案例:留言板 & url.parse()
2021-05-08
Python3中的map()函数!!!
2021-05-08
Python中的filter()函数!!!1
2021-05-08
(新手小白必学!)用Python设计和实现聪明的尼姆游戏(人机对战)!!!!
2021-05-08
LeetCode:283. 移动零!!!1
2021-05-08
Python实验26:计算文件MD5值
2021-05-08