当前时间
- NOW()
- SYSDATE()
- CURRENT_DATE 以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。
- mysql> select CURDATE(); -> '1997-12-15'
- mysql> select CURDATE() + 0; -> 19971215
- CURRENT_TIME 以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。
- mysql> select CURTIME(); -> '23:50:26'
- mysql> select CURTIME() + 0; -> 235026
- CURRENT_TIMESTAMP 以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用。
- mysql> select NOW();-> '1997-12-15 23:50:26'
- mysql> select NOW() + 0; -> 19971215235026
时间格式
- DATE_FORMAT(date,format) 根据format字符串格式化date值为字符串形式。
- TIME_FORMAT(time,format) 根据format字符串格式化time值。format字符串只能包含处理小时、分钟和秒的那些格式修饰符。其他修饰符产生一个NULL值或0。
- mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
- -> 'Saturday October 1997'
- mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
- -> '22:23:00'
- mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%D %y %a %d %m %b %j');
- -> '4th 97 Sat 04 10 Oct 277'
- mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H %k %I %r %T %S %w');
- -> '22 22 10 10:23:00 PM 22:23:00 00 6'
- 下列修饰符可以被用在format字符串中,所有的其他字符不做解释被复制到结果中。
- %M 月名字(January……December)
- %W 星期名字(Sunday……Saturday)
- %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
- %Y 年, 数字, 4 位
- %y 年, 数字, 2 位
- %a 缩写的星期名字(Sun……Sat)
- %d 月份中的天数, 数字(00……31)
- %e 月份中的天数, 数字(0……31)
- %m 月, 数字(01……12)
- %c 月, 数字(1……12)
- %b 缩写的月份名字(Jan……Dec)
- %j 一年中的天数(001……366)
- %H 小时(00……23)
- %k 小时(0……23)
- %h 小时(01……12)
- %I 小时(01……12)
- %l 小时(1……12)
- %i 分钟, 数字(00……59)
- %r 时间,12 小时(hh:mm:ss [AP]M)
- %T 时间,24 小时(hh:mm:ss)
- %S 秒(00……59)
- %s 秒(00……59)
- %p AM或PM
- %w 一个星期中的天数(0=Sunday ……6=Saturday )
- %U 星期(0……52), 这里星期天是星期的第一天
- %u 星期(0……52), 这里星期一是星期的第一天
- %% 一个文字“%”。
MySQL字符串类型转成时间类型
字符串类型转成时间类型,字符串值必须满足2010-10-19 17:08:00模式。
SELECT STR_TO_DATE('04/31/2004,13:2:26', '%m/%d/%Y,%H:%i:%s');
成功。注意,模式区分大小写。
SELECT STR_TO_DATE('2010 - 10 - 19, 17 : 08', '%Y - %m - %d, %H : %i');
不成功。
SELECT STR_TO_DATE('2010-10-19,17:08', '%Y-%m-%d,%H:%i');
去除所有空格后成功。
SELECT STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i') from upload;
预先显示转换结果。符合预期。
正式转换如下:
update upload set createTime=STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i');
update uzer set createTime=STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i');
update hlog set createTime=STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i');
再将列定义转为datetime类型。
by hxzon.