博客
关于我
11.2.6 时间值的小数秒
阅读量:355 次
发布时间:2019-03-05

本文共 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 日期和时间文字。

转载地址:http://rhcg.baihongyu.com/

你可能感兴趣的文章
23种设计模式一:单例模式
查看>>
Qt中的析构函数
查看>>
CSharp中委托(一)委托、匿名函数、lambda表达式、多播委托、窗体传值、泛型委托
查看>>
二叉堆的c++模板类实现
查看>>
C语言实现dijkstra(adjacence matrix)
查看>>
C#学习笔记(十四)事件(一)通知
查看>>
SQL Server SQL语句调优技巧
查看>>
用C#实现封装-徐新帅-专题视频课程
查看>>
C语言学习从初级到精通的疯狂实战教程-徐新帅-专题视频课程
查看>>
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
查看>>
NAT工作原理
查看>>
Processes, threads and goroutines
查看>>
c++中的10种常见继承
查看>>
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用
查看>>
成功解决Keil MDK5中no browse information available in ‘xxx’的问题
查看>>
抽离css文件
查看>>
babel预设、插件和webpack中运行
查看>>
Vue学习—深入剖析渲染函数
查看>>
Vue学习—深入剖析函数式组件
查看>>
基于selenium的分布式爬虫-微浏览器
查看>>