热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MariaDB数据库中的微秒

在MariaDB5.3和以后版本,时间,日期时间,和时间戳类型,随着时间函数,CAST和动态列,现在支持微秒。datetime列时间精度可以在创建表时指定的,例如:CREATETABLEexample(col_microsecDATETIME(6),col_millisecTIME(3));通常,任何时间,日期时间,或

在MariaDB 5.3和以后版本,时间,日期时间,和时间戳类型,随着时间函数, CAST和动态列,现在支持微秒。datetime列时间精度可以在创建表时指定的,例如:

CREATE TABLE example(

  col_microsec DATETIME(6),

  col_millisec TIME(3)

);

通常, 任何时间,日期时间,或时间戳列都指定精度,在类型名称后括号中。datetime精密指定小数点后面的数字,可以是任意整数数字从0到6。如果没有指定精度就是默认为0,为了向后兼容的原因。    

作为一个可以预期,一个日期精度可以指定。例如:
当存储过程声明的参数。  
当存储函数指定返回类型的。  
当声明变量。  
在CAST函数:

 create function example(x datetime(5)) returns time(4)

begin

  declare y timestamp(6);

 return cast(x as time(2));

end;

额外信息

一些额外的提示,没有特定的顺序:

SELECT CURTIME(4);

--> 10:11:12.3456
TIME_TO_SEC() 和 UNIX_TIMESTAMP()保存微秒的论点。这些函数将返回一个十进制数如果结果非零datetime精度和一个整数否则(向后兼容)。

SELECT TIME_TO_SEC('10:10:10.12345');

--> 36610.12345
当前版本的这个补丁修复一个bug在以下优化:在某些有DISTINCT查询,MariaDB可以忽略这一条款,如果它能证明所有结果行是独一无二的,例如,当一个主键是与一个常数。有时这种优化应用不正确,尽管——例如,当用一个日期常数比较字符串。现在被修复了。  
DATE_ADD()和DATE_SUB()函数现在可以把一个时间表达式作为参数(不只是DATETIME像以前一样)。

SELECT TIME('10:10:10') + INTERVAL 100 MICROSECOND;

--> 10:10:10.000100
mysql.general_log表的event_time字段和在mysql.slow_log 表的start_time, query_time, lock_time现在存储值使用微秒级精度。  
这个补丁修复一个bug当在使用BETWEEN操作符和其中的一个操作数是NULL下比较一个时间值。  
旧的语法的TIMESTAMP (N),其中N是显示宽度,不再支持。它在MySQL 4.1.0被弃用 (发布于2003-04-03)。  
当一个DATETIME值和一个时间值相比,后者被当作一个完整的DATETIME用零填充日期部分,类似于DATE比较DATETIME,或比较小数数字。在这种情况下MariaDB早期版本的用于比较这两个操作数都的部分。

注意:当你把一个时间值转化一个较小的精度值,它将被截断,不是取整。这样做是为了保证日期部分是没有改变。例如:

SELECT CAST('2009-12-31 23:59:59.998877' as DATETIME(3));

-> 2009-12-31 23:59:59.998


推荐阅读
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • Linux虚拟机中MySQL安装指南
    本文详细介绍了如何在Linux虚拟机上安装MySQL,包括解决常见问题的方法和步骤。 ... [详细]
  • 本文档详细介绍了2017年8月31日关于MySQL数据库备份与恢复的教学内容,包括MySQL日志功能、备份策略、备份工具及实战演练。 ... [详细]
  • 本文详细介绍了如何解决在使用本地SQlyog客户端尝试连接阿里云上的MariaDB数据库时遇到的2003错误,即无法连接到MySQL服务器的问题。 ... [详细]
  • Nagios可视化插件开发指南 —— 配置详解
    本文详细介绍了Nagios监控系统的配置过程,包括数据库的选择与安装、Nagios插件的安装及配置文件的解析。同时,针对常见的配置错误提供了具体的解决方法。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • Logging all MySQL queries into the Slow Log
    MySQLoptionallylogsslowqueriesintotheSlowQueryLog–orjustSlowLog,asfriendscallit.However,Thereareseveralreasonstologallqueries.Thislistisnotexhaustive:Belowyoucanfindthevariablestochange,astheyshouldbewritteninth ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • MySQL 错误:用户 'root' 使用密码时访问被拒绝的原因及解决方法
    在配置CentOS 7上的MariaDB(MySQL)时,用户可能会遇到“1045 - Access denied for user 'root'@'localhost' (using password: YES)”的错误。这通常是由于密码设置不正确或权限配置问题导致的。本文将详细分析该错误的原因,并提供多种解决方法,包括重置root密码、检查配置文件和修复权限设置等。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 如何在Linux系统上部署MySQL 5.7.28
    本文详细介绍了在Linux系统上部署MySQL 5.7.28的具体步骤。通过官方下载页面获取最新安装包后,按照提供的指南进行配置和安装。文章内容实用性强,适合初学者和有经验的管理员参考。 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
  • 我正在尝试在MariaDB中创建将两个表与一个桥表链接在一起的方法。该表本身称为“ActsIn ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了实现MySQL半同步架构相关的知识,希望对你有一定的参考价值。默认情况下,MySQL的复制功能是异步的, ... [详细]
  • mysql--mariadb--postgresql官网简介https:www.postgresql.org使用的镜像名称centospostgresql-96-centos7 ... [详细]
author-avatar
宛如画中人需_308
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有