MYSQL日期函数

#获得当前日期+时间(date + time)函数
select now()

#获得当前时间戳函数
select current_timestamp, current_timestamp()

#Date/Time to Str(日期/时间转换为字符串)函数
select date_format(‘2008-08-08 22:23:01‘, ‘%Y%m%d%H%i%s‘)

#字符串转换为日期函数
select str_to_date(‘08/09/2008‘, ‘%m/%d/%Y‘); -- 2008-08-09
select str_to_date(‘08/09/08‘ , ‘%m/%d/%y‘); -- 2008-08-09
select str_to_date(‘08.09.2008‘, ‘%m.%d.%Y‘); -- 2008-08-09
select str_to_date(‘08:09:30‘, ‘%h:%i:%s‘); -- 08:09:30
select str_to_date(‘08.09.2008 08:09:30‘, ‘%m.%d.%Y %h:%i:%s‘); -- 2008-08-09 08:09:30

#(日期、天数)转换函数
select to_days(‘0000-00-00‘); -- 0
select to_days(‘2008-08-08‘); -- 733627

#(时间、秒)转换函数
select time_to_sec(‘01:00:05‘); -- 3605
select sec_to_time(3605); -- ‘01:00:05‘

#拼凑日期、时间函数
select makedate(2001,31); -- ‘2001-01-31‘
select makedate(2001,32); -- ‘2001-02-01‘
select maketime(12,15,30); -- ‘12:15:30‘

#(Unix 时间戳、日期)转换函数
select unix_timestamp(); -- 1218290027
select unix_timestamp(‘2008-08-08‘); -- 1218124800
select unix_timestamp(‘2008-08-08 12:30:00‘); -- 1218169800

select from_unixtime(1218290027); -- ‘2008-08-09 21:53:47‘
select from_unixtime(1218124800); -- ‘2008-08-08 00:00:00‘
select from_unixtime(1218169800); -- ‘2008-08-08 12:30:00‘

select from_unixtime(1218169800, ‘%Y %D %M %h:%i:%s %x‘); -- ‘2008 8th August 12:30:00 2008‘

#日期、时间相减函数
datediff(date1,date2):两个日期相减 date1 - date2,返回天数。
select datediff(‘2008-08-08‘, ‘2008-08-01‘); -- 7
select datediff(‘2008-08-01‘, ‘2008-08-08‘); -- -7

#timediff(time1,time2):两个日期相减 time1 - time2,返回 time 差值。
select timediff(‘2008-08-08 08:08:08‘, ‘2008-08-08 00:00:00‘); -- 08:08:08
select timediff(‘08:08:08‘, ‘00:00:00‘); -- 08:08:08

#指定日期1秒后 interval
SELECT DATE_ADD(‘2010-12-31 23:59:59‘, INTERVAL 1 SECOND)

#指定日期1天后:
SELECT DATE_ADD(‘2010-12-31 23:59:59‘, INTERVAL 1 DAY);

#定日期减去10小时:
SELECT DATE_ADD(‘2011-01-01 00:00:00‘, INTERVAL ‘-1 10‘ DAY_HOUR);

#指定日期的一个月前
SELECT DATE_SUB(‘2011-01-02‘, INTERVAL 31 DAY);

#指定日期的前一天:
SELECT date_add(‘2011-01-01‘, INTERVAL -1 DAY);

时间: 2024-10-14 05:04:07

MYSQL日期函数的相关文章

MYSQL 日期函数【转】

MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天). mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5 mysql> select WEEKDAY('1

mysql 日期函数总结

1.0 格式化:DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法DATE_FORMAT(date,format) date 参数是合法的日期.format 规定日期/时间的输出格式. 可以使用的格式有: 格式 描述 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值

MySQL日期函数、时间函数总结(MySQL 5.X)

获得当前日期时间函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now()               | +---------------------+ | 2015-11-10 13:36:55 | +---------------------+ 1 row in set (0.00 sec) 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:

mysql 日期函数大全

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型. 这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table  WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; DAYOFWEEK(date)  返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六).这些索引值对应于ODBC标准

mysql日期函数及重复数据的查询

-- 日期函数select CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,year(CURRENT_DATE),month(CURRENT_DATE);select * from sr_main where TIMESTAMPDIFF(DAY,SYS_CREATETIME,SYSDATE())>7 and SYS_SPZT <>1 ; 1.目标查出表中重复的身份证-- 以下为错误写法因为 where 后面不能用聚合函数select * from

mysql日期函数及批量循环返回主键ID

实际项目中总是会遇到各种时间计算查询等等许多时候是特别麻烦前阵子公司有个需求大致是要查询当前日期与数据库存储日期之差,本来写了个工具类调用的但是最后觉得这样不好就想着能不能用函数解决,没想到还真有这里分享下,sql如下: select datediff('2017-04-21',(select now())) as days;日期相减得到天数,简单吧,获取当前日期其实也是有函数的,但是有的mysql版本不支持具体各位自己尝试,还有一个就是日期格式查询处理也很简单DATE_FORMAT(     

mysql 日期函数格式

mysql中的from_unixtime函数的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)

mysql日期函数 当前日期 curdate() , 当前年 year(curdate()), 取date的年份 year(date) ,取date的月份 month(date)

获取系统当前日期时间: sysdate() 获取系统当前日期:curdate() 获取系统当前时间:curtime() 获取给定日期的年份: year(date) 获取给定日期的月份:month(date) 为指定日期增加一个时间间隔的函数:date_add(date,INTERVAL expr unit) (1) 查询作者的出生年份 作者出生年份 = 当前年份 - 作者年龄  = year(curdate()) - age 注: 当前日期 curdate() , 当前年 year(curdat

MySQL日期函数的用法几则

1.将Date类型变成年月日时分秒的形式 select date_format(claimDate,'%Y-%m-%d %H:%i:%s') as claimdate from t1 2.只要年月日的形式 select date_format(claimdate,'%Y-%m-%d') as newdate from t1 3.获得星期几(英语如Monday,Tuesday...) select DAYNAME(claimdate) as weekday from t1