Mysql的DATE_FORMAT()
Mysql的DATE_FORMAT()应用(2011-04-2917:27:58)转载▼
标签:mysqljava时间格式it分类:Programming
今天正好有个做ssh的同学问到时间问题,想显示时间到秒数
自己之前都是使用显示到天的,于是就顺手查了下
碰到一个MYSQL的问题,表中字段的内容是"年-月-日时:分:秒",需要查询匹配“年月日”或“时:分:秒”的数据条目,这个时候就可以通过下面的SQL语句实现:
select*from_tablewheredate_format(_datetime,'%Y%m%d')='20080227'(匹配“年月日”)
select*from_tablewheredate_format(_datetime,'%H:%i:%s')='16:40:01'(匹配“时:分:秒”)
DATE_FORMAT(date,format)能根据格式串format格式化日期或日期和时间值date,返回结果串。可用DATE_FORMAT()来格式化DATE或DATETIME值,以便得到所希望的格式。根据format字符串格式化date值:
%S,%s两位数字形式的秒(00,01,...,59)
%i两位数字形式的分(00,01,...,59)
%H两位数字形式的小时,24小时(00,01,...,23)
%h,%I两位数字形式的小时,12小时(01,02,...,12)
%k数字形式的小时,24小时(0,1,...,23)
%l数字形式的小时,12小时(1,2,...,12)
%T24小时的时间形式(hh:mm:ss)
%r12小时的时间形式(hh:mm:ssAM或hh:mm:ssPM)
%pAM或PM
%W一周中每一天的名称(Sunday,Monday,...,Saturday)
%a一周中每一天名称的缩写(Sun,Mon,...,Sat)
%d两位数字表示月中的天数(00,01,...,31)
%e数字形式表示月中的天数(1,2,...,31)
%D英文后缀表示月中的天数(1st,2nd,3rd,...)
%w以数字形式表示周中的天数(0=Sunday,1=Monday,...,6=Saturday)
%j以三位数字表示年中的天数(001,002,...,366)
%U周(0,1,52),其中Sunday为周中的第一天
%u周(0,1,52),其中Monday为周中的第一天
%M月名(January,February,...,December)
%b缩写的月名(January,February,...,December)
%m两位数字表示的月份(01,02,...,12)
%c数字表示的月份(1,2,...,12)
%Y四位数字表示的年份
%y两位数字表示的年份
%%直接值“%”
顺便说一下,mysql里date貌似只存到天,而datetime才会存到秒
那个同学一直使用的string来存时间,虽然也可以做但是无论是存取还是比较大小,感觉都会多走一步
更重要的是,varchar的话估计就米法使用date_format()了吧,这个只能作用与date和datetime