下面是转载的关于MySQL毫秒、微秒精度时间处理的两段篇章,留给自己和供大家参考~~

一、MySQL 获得毫秒、微秒及对毫秒、微秒的处理

MySQL 较新的版本中(MySQL 6.0.5),也还没有产生微秒的函数,now() 只能精确到秒。 MySQL 中也没有存储带有毫秒、微秒的日期时间类型。

但,奇怪的是 MySQL 已经有抽取(extract)微秒的函数。例如:

select microsecond('12:00:00.123456');                          -- 123456
select microsecond('1997-12-31 23:59:59.000010'); -- 10
select extract(microsecond from '12:00:00.123456');             -- 123456
select extract(microsecond from '1997-12-31 23:59:59.000010'); -- 10
select date_format('1997-12-31 23:59:59.000010', '%f');         -- 000010

尽管如此,想在 MySQL 获得毫秒、微秒还是要在应用层程序中想办法。假如在应用程序中获得包含微秒的时间:1997-12-31 23:59:59.000010,在 MySQL 存放时,可以设计两个字段:c1 datetime, c2 mediumint,分别存放日期和微秒。为什么不采用 char 来存储呢?用 char 类型需要 26 bytes,而 datetime + mediumint 只有 11(8+3) 字节。

---转自网友:mlxia

地址:http://mlxia.iteye.com/blog/278982

二、MYSQL的毫秒级时间比较

一般来说,MYSQL使用时间比较一般是转换成时间格式来比较,如:

DATE_FORMAT('年-月-日 时:分:秒','%Y-%m-%d %h:%i:%s')

select DATE_FORMAT('2010-12-01 07:03:16','%Y-%m-%d %h:%i:%s')/*具体例子*/

如果要转换成毫秒级就要用 select DATE_FORMAT('2010-12-01 07:03:16.233','%Y-%m-%d %T:%f')-- 注意啦,T不能小写

一个查询的实例:

select * from test where DATE_FORMAT(timess,'%Y-%m-%d %T:%f') between DATE_FORMAT('2010-12-01 06:03:16.233','%Y-%m-%d %T:%f') and DATE_FORMAT('2010-12-01 08:03:16.733','%Y-%m-%d %T:%f')

在这里,要转换的字符串的毫秒前是用“.”表示小数位的。

除此以外,还有一种可以直接拿字符串比较的:

select * from test where DATE_FORMAT(timess,'%Y-%m-%d %T:%f') between '2010-12-01 06:03:16:233' and '2010-12-01 08:03:16:733'

这样也可以。但是要注意这里的毫秒前的符号变成了":",必须是这个符号,如果你写成了“.”查询结果是错误的。

其实这2中写法都可以,不过,我还是建议最好用DATE_FORMA()函数转换的写法,因为在使用Navicat Lite这样的工具调试的时候,如果是直接比较字符串,有时候会报错。具体原因不明。

最后,还是要跟大家说一声:在用格式转换的时候,还是要分清大小写,因为很多人在这个上面不注意,结果导致调试失败。就如同上面的这个例子。不能用小写的t的格式,还是要用大写的T,否则结果会错误。

---转自网友

地址:http://www.it165.NET/database/html/201110/760.html

毫秒、微秒名词解释:

毫秒:millisecond -- 千分之一秒
微秒:microsecond -- 一百万分之一秒 1 秒 = 1000 毫秒;1 毫秒 = 1000 微秒

mysql时间字段转换为毫秒格式的更多相关文章

  1. MySQL时间字段究竟使用INT还是DateTime

    今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` ) unsigned '; 随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用 ...

  2. mysql 时间字段的函数 timestamp

    Mysql 里格式 时间字段的函数 DATE_FORMAT unix_timestamp - 墨墨修行的日志 - 网易博客http://jjuanxi.blog.163.com/blog/static ...

  3. mysql时间格式化函数日期格式h和H区别

    本文为博主原创,未经允许不得转载: 今天碰到一个问题,发现项目中有一个统计图的数据和时间格式没有对应准确,统计图要描述的是操作次数和操作时间的关系, 但很奇怪的是操作次数对应的时间却是凌晨,实际应用中 ...

  4. mysql 时间字段的一些问题

    MySQl中有多种表示日期和时间的数据类型.其中YEAR表示年份,DATE表示日期,TIME表示时间,DATETIME和TIMESTAMP表示日期和实践.它们的对比如下: YEAR ,字节数为1,取值 ...

  5. JS 获取JSON返回的时间值转换为通常格式展示

    var date = new Date(parseInt(数据源.slice(6)));   //获取到时间  年月日时分秒 var result = date.getFullYear() + '/' ...

  6. Sql查询今天、本周和本月的记录(时间字段为时间戳)

    工作中遇到的问题,小结一下 查询今日添加的记录: select * from [表名] where datediff(day,CONVERT(VARCHAR(20),DATEADD(SECOND,[时 ...

  7. Sybase datetime 时间转换格式 convert(varchar(10),字段名,转换格式)

    convert(varchar(10),字段名,转换格式)sybase下convert函数第三个参数(时间格式)比如:1.select user_id,convert(varchar(10),dayt ...

  8. Mysql 时间格式默认空串 '0000-00-00 00:00:00' select抛出异常的解决方法

    Mysql 时间格式默认插入值为空时,会以'0000-00-00 00:00:00'填充,这时如果select时会抛出SQLExecption如下: java.sql.SQLException: Va ...

  9. MySQL 时间类型字段的分析

    日期类型                存储空间               日期格式                                           日期范围---------- ...

随机推荐

  1. 支持flv的播放神器

    h1:让浏览器支持flv去https://github.com/Bilibili/flv.js h2:让手机电脑都支持mp4使用: <link rel="stylesheet" ...

  2. nginx中使用perl模块

    转载自:http://www.netingcn.com/nginx-perl.html 如果对于一个绝大部分内容是静态的网站,只有极少数的地方需要动态显示,碰巧你又了解一点perl知识,那么nginx ...

  3. Java数组的十大方法

    Java数组的十大方法 以下是Java Array的前10种方法.他们是来自stackoverflow的投票最多的问题. 0.声明一个数组 String[] aArray = new String[5 ...

  4. GraphQL学习

    视频地址:https://www.youtube.com/watch?v=Y0lDGjwRYKw&list=PL4cUxeGkcC9iK6Qhn-QLcXCXPQUov1U7f GraphQL ...

  5. 多线程下,Python Sqlite3报[SQLite objects created in a thread can only be used...]问题

    明明加了锁保护,还是出了下面的问题 ProgrammingError: SQLite objects created in a thread can only be used in that same ...

  6. (5) go 控制台输入输出、进制转换、原反补码、位运算

    一.控制台接受输入 二.原反补码 三.位运算 四.移位运算

  7. Did Pong Lie? (差分系统 判负环)

    Did Pong Lie? 时间限制: 5 Sec  内存限制: 128 MB提交: 68  解决: 15[提交][状态][讨论版] 题目描述 Doctor Pong has two arrays o ...

  8. noip 1999 回文数

    题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制数 ...

  9. 【序列莫队+树状数组】BZOJ3289-Mato的文件管理

    [题目大意] 一共有n份,每份有一个大小和一个编号.Mato每天随机选一个区间[l,r],拷贝出来(即对原序列不影响),给它们排序,并且每次只能交换相邻两份文件.问每天最少交换几次? [思路] 显然, ...

  10. 一个简单的Spring程序

    首先,要用Eclipse开发Spring程序,需要安装Spring插件并重启Eclipse 具体操作: 新建java Project后,导入需要使用的包(提前下好Spring),Spring包包含6个 ...