SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 关于MySQL日期时间函数,每回总能发现一些新特性,索性做一次统一的整理,补充下笔记库。可以会有所遗漏,欢迎补充。 本文整理了30个时间日期函数,分为4个段落分析,详见下文。 1 获取时间函数获取当前时间 休息ns 例子 相同点:获取当前时刻 区别:返回时刻是什么时候,执行SQL还是调用该函数的时间值 sysdate(),返回函数调用时刻的时间值 now() ,current_timestamp()/current_timestamp ,LOCALTIME ,LOCALTIME() ,LOCALTIMESTAMP ,LOCALTIMESTAMP() 返回语句调用时的时间值; 使用过程中,请明确清理这三者的区别 now() , current_timestamp(), current_timestamp,LOCALTIME ,LOCALTIME() ,LOCALTIMESTAMP ,LOCALTIMESTAMP()
2 时间计算函数时间之差 datediff(date1, date2 ),timediff(time1 , time2 ), timestampdiff(interval,datetime_expr1,datetime_expr2)
时间加减法 date_sub( date, INTERVAL expr type ) DATE_ADD(date,INTERVAL expr type) adddate(date,INTERVAL expr type ) ,timestampadd(interval, count, timestamp)
例子 两个时间之差 interval 可以是: FRAC_SECOND 毫秒 ,SECOND 秒 ,MINUTE 分钟 ,HOUR 小时 DAY 天 ,WEEK 星期 ,MONTH 月 ,QUARTER 季度 ,YEAR 年 两个时间相减的相差时间,注意,需要是一样的格式 两个日期相减得相差天数,注意,两个需是一样的格式 datediff( date1, date2 ) timediff( time1 , time2 ) TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
3 时间转换函数举 实际应用 SELECT NOW(),DATE_FORMAT(NOW(),'%Y-%m-%d') '%Y-%m-%d';
年 月 日 时间模块 小时 分钟 秒 周 %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2 位 %b 缩写月名 %c 月,数值 %M 月名 %m 月,数值(00-12) %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %j 年的天 (001-366) %T 时间, 24-小时 (hh:mm:ss) %r 时间,12-小时(hh:mm:ss AM 或 PM) %H 小时 (00-23) %k 小时 (0-23) %h 小时 (01-12) %I 小时 (01-12) #%h跟%I,没区别 ( 大写的 i ) %l 小时 (1-12) 小写的 L %p AM 或 PM %i 分钟,数值(00-59) %S 秒(00-59) %s 秒(00-59) %f 微秒 %a 缩写星期名 %W 星期名,英文全称 Saturday %w 周的天 (0=星期日, 6=星期六,0-6) %U 周 (00-52) 星期日是一周的第一天 %u 周 (00-52) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 将 string 转化为 日期格式,string 哪几个字符是年月日时间,由format匹配 时区转化 datetime为from_zt的时区,返回to_tz时区的时间 时间戳到转换 日期时间格式 转化为 日期格式 makedate 根据 年份跟年份中的第几天,转化为日期 maketime 根据 小时 分钟 秒 ,转化为时间 将时间转化为时间戳 将时间戳转化为时间 from_unixtime unix_timestamp makedate(year, day_of_year),maketime(hour,minute,second) date(datetime) timestamp(date),timestamp(date,time) convert_tz(datetime,from_tz,to_tz) str_to_date(string,format) date_format
4 获取部分函数获取第几天 to_days(datetime ),dayofyear(datetime ),dayofmonth(datetime) todays返回从 '0000-00-00' 到datetime之间隔了多少天 dayofyear,返回 datetime 这一天是一年中的第几天 dayofmonth,返回 datetime 这一天是 一个月中的第几天
秒转化
以上就是MySQL中关于日期函数汇总的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。
|