基本的mysql日期函式:
--用日期與字串轉換,計算當月第一天、下月第一天
select curdate() as
'當前日期',
date_format(curdate(),
'%y-%m
') as
'當前月份',
str_to_date(concat(date_format(curdate(),
'%y-%m
'), '
-01'), '
%y-%m-%d
') as
'當前月的第一天',
date_add(str_to_date(concat(date_format(curdate(),
'%y-%m
'), '
-01'), '
%y-%m-%d
'), interval1month) as
'下月的第一天';
--當前月的最後一天
select
last_day(curdate());
--下月第一天
select date_add(last_day(curdate()), interval1day
);--
當天為當月的第幾天
select
day(curdate());
--當月第一天
select date_add(curdate(), interval1-(day(curdate())) day);
mysql中計算兩個日期的時間差函式timestampdiff用法:語法:
timestampdiff(interval,datetime_expr1,datetime_expr2)
說明:
返回日期或日期時間表示式datetime_expr1 和datetime_expr2the 之間的整數差。其結果的單位由interval 引數給出。interval 的法定值同timestampadd()函式說明中所列出的相同。
mysql> select timestampdiff(month,'2009-12-01','2009-09-01');
-> -3
mysql> select timestampdiff(year,'2009-05-01','2008-01-01');
-> -1
精確到秒差
select timestampdiff(second,date_format(now(),'%y-%m-%d %h:%i:%s'),'2013-03-07 15:43:00')
from dual
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('1997-11-05');
-> 2
dayofmonth(date)
返回date的月份中日期,在1到31範圍內。
mysql> select dayofmonth('1998-02-03');
-> 3
dayofyear(date)
返回date在一年中的日數, 在1到366範圍內。
mysql> select dayofyear('1998-02-03');
-> 34
month(date)
返回date的月份,範圍1到12。
mysql> select month('1998-02-03');
-> 2
year(date)
返回date的年份,範圍在1000到9999。
mysql> select year('98-02-03');
-> 1998
hour(time)
返回time的小時,範圍是0到23。
mysql> select hour('10:05:03');
-> 10
minute(time)
返回time的分鐘,範圍是0到59。
mysql> select minute('98-02-03 10:05:03');
-> 5
second(time)
回來time的秒數,範圍是0到59。
mysql> select second('10:05:03');
-> 3
to_days(date)
給出乙個日期date,返回乙個天數(從0年的天數)。
mysql> select to_days(950501);
-> 728779
mysql> select to_days('1997-10-07');
-> 729669
to_days()不打算用於使用格列高里歷(1582)出現前的值。
from_days(n)
給出乙個天數n,返回乙個date值。
mysql> select from_days(729669);
-> '1997-10-07'
date_format(date,format)
根據format字串格式化date值。下列修飾符可以被用在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> 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'
mysql日期函式彙總 mysql日期函式彙總
一 當前時間獲取 1.now 獲得當前日期 時間 2.sysdate 獲得當前日期 時間 3.current timestamp,current timestamp 獲得當前時間戳 二 日期轉換函式 時間轉換函式 1.date format date,format time format time,...
mysql日期函式轉換 Mysql日期函式大全 轉
date add date,interval expr type date sub date,interval expr type adddate date,interval expr type subdate date,interval expr type 對日期時間進行加減法運算 adddate...
mysql日期函 MySQL 日期函式
mysql 日期函式 1,mysql dayofweek 和 weekday 獲取星期 在 mysql 中,我們可以用 dayofweek 和 weekday 函式獲取指定日期的星期.區別在於 dayofweek 獲取的星期索引是以 1 開始,而 weekday 獲取的星期索引是以 0 開始.day...