mysql日期操作

2022-06-17 06:48:09 字數 2783 閱讀 2712

一、獲取當前日期時間

1.1、獲得當前日期+時間(date+time)函式:now()

1.2、獲取當前日期+時間(date+time)函式:sysdate()

注:二者類擬,不同在於now()在執行時就得到了,sysdate()執行時動態得到。

2、獲取當前日期:curdate(),與current_date()等同

二、日期時間extract(選取)

1、選取時間時間的各個部分:日期、時間、年、季度、月、日、小時、分鐘、秒、微秒

set @dt='2017-10-11 14:20:31.2341'

日期:date(@dt)

年份:year(@dt)

季份:quarter(@dt)

月份:month(@dt)

天份:day(@dt)

小時:hour(@dt)

分鐘:minute(@dt)

秒鐘:second(@dt)

毫秒:microsecond(@dt)

2、extract(),可以實現類擬的功能。略

3、dayof函式:dayofweek()、dayofmonth()、dayofyear()  

分別返回日期引數在一周、一月、一年中的位置

set @dt='2017-10-11'

dayofweek(@dt)、dayofmonth(@dt)、dayofyear(@dt)

4、week函式:week()、weekofyear()、dayofweek()、weekday()、yearweek()

week()與weekofyear()類擬,都是計算『某天』位於一年中的第幾周

weekday()與dayofweek()類擬,返回『某天』在一周中的位置。參考點不同

5、返回星期和月份:dayname(@dt)、monthname(@dt)

6、last_day(@dt):返回月份中的最後一天

三、日期時間計算

1、為日期增加乙個時間間隔:date_add(@dt,interval (-)整數 單位)。單位:day、hour、minute等

adddate()、addtime()可以用date_add()代替。建議總是用date_add()

2、為日期減去乙個時間間隔:date_sub()。與date_add()用法一致

3、另類時間函式:period_add(p,n)、period_diff(p1、p2),很少用到

period_add引數"p"的格式為「yyyymmdd」或「yyyymm」,第二個引數"n"表示增加或減去n 月。

period_diff返回p1-p2個月

4、日期、時間相減函式:datediff(date1、date2)、timediff(time、time2)

datediff(date1,date2):返回date1-date2的天數

timediff(time1,time2):返回time1-time2的差值(時間部分)

注:timediff(time1,time2)引數型別必須相同

四、日期轉換函式、時間轉換函式

1、(時間、秒)轉換:time_to_sec(time),sec_to_time(seconds)

2、(日期、天數)轉換:to_days(date)、from_days(days)

3、(字串轉換為日期):str_to_date(str,fromat)

select str_to_date('08.09.2008', '%m.%d.%y');

4、(日期/時間)轉為字串:date_format(date,format)、time_format(time,format)

date_format('2008-08-08 22:23:00', '%w %m %y');

time_format('22:23:01', '%h.%i.%s');

5、獲得國家地區時間格式函式:get_fomat()。很少用到

makedate(2001,32);   -- '2001-02-01'

maketime(12,15,30);  -- '12:15:30'

五、時間戳(timestamp)

1、獲取當前時間戳:current_timestamp、current_timestamp()

2、(unix時間戳、日期)轉換

unix_timestamp(),unix_timestamp();                       -- 1218290027

unix_timestamp(date),unix_timestamp('2008-08-08 12:30:00');  -- 1218169800

from_unixtime(unix_timestamp),from_unixtime(1218169800);              -- '2008-08-08 12:30:00'

from_unixtime(unix_timestamp,format),from_unixtime(1218169800, '%y %d %m %h:%i:%s %x'); -- '2008 8th august 12:30:00 2008'

3、時間戳轉換、增、減

timestamp(date)

timestamp(dt,time)

timestampadd(unit,interval,datetime_expr)

timestampdiff(unit,datetime_expr1,datetime_expr2)

六、時區轉換

convert_tz(dt,from_tz,to_tz)

時區轉換也可以通過 date_add,date_sub,timestampadd來實現

mysql 日期操作

今天 select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where to days now to days 時間欄位名 1 本週 select from 表名 where yearweek date format 時間欄...

mysql time 操作 MySql 日期操作

1 獲取日期的函式 select now 獲取當前日期與時間 同義詞 localtime localtimestamp current timestamp select curdate 獲取當前日期 select sysdate 動態獲取當前日期與時間 select curtime 獲取當前時間 2...

mysql日期操作 DATE FORMAT

y m d h i s date format date,format 根據format字串格式化date值。下列修飾符可以被用在format字串中 m 月名字 january december w 星期名字 sunday saturday d 有英語字首的月份的日期 1st,2nd,3rd,等等。...