MYSQL的毫秒级时刻比较问题ITeye - 凯发娱乐

MYSQL的毫秒级时刻比较问题ITeye

2019年02月23日12时13分12秒 | 作者: 翠安 | 标签: 时刻,格局,字符串 | 浏览: 1027

一般来说,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,不然成果会过错。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章