mysql日期時間筆記

2021-09-30 16:15:34 字數 2501 閱讀 2344

搗鼓了一下mysql,做如下筆記

mysql版本:5.1.50

一,日期時間型別

datetime 8bytes ***x-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59:59

timestamp 4bytes ***x-xx-xx xx:xx:xx 1970-01-01 00:00:01到2038

date 3bytes ***x-xx-xx 1000-01-01到9999-12-31

year 1bytes ***x 1901到2155

time 3bytes xx:xx:xx -838:59:59到838:59:59(為了滿足時間的加減運算)

二,特性

timestamp在預設情況下,insert和update資料時,timestamp列自動回去當前時間填充

mysql只支援到秒

三,函式

注:current_date[()]表示後面的括號可以有也可以沒有

獲取當前日期或時間

sysdate()       ***x-xx-xx xx:xx:xx

current_timestamp[()]=now()       ***x-xx-xx xx:xx:xx

current_date[()]=curdate()       ***x-xx-xx xx:xx:xx

current_time[()]=curtime()       xx:xx:xx

unix_timestamp()       12******xx

時間日期運算

sysdate()+interval 1 day(hour)       ***x-xx-xx xx:xx:xx

current_date+interval 1 day       ***x-xx-xx

current_date+interval 1 hour       ***x-xx-xx xx:xx:xx

current_time+interval 1 day(hour) null

current_timestamp+interval 1 day(hour)       ***x-xx-xx xx:xx:xx

timediff(a,b)

返回a-b的時間值,適用於datetime/timestamp/time型別,並且a和b型別要一樣

datediff(a,b)類似

set @dt='2010-09-28 23:05:14'

select minute(@dt) 14..

select dayofweek(@dt) 返回在一周之中位於第幾天(1代表週日)..

select dayname(@dt) 返回英文的週幾(friday)..

select date_add(@dt,interval -1 day)

select date_add(@dt,interval '01:15:31' hour_second)

select date_add(@dt,interval '01 01:15:31' day_second)

select date_sub(……類似

select str_to_date('08.09.2008 08:09:30', '%m.%d.%y %h:%i:%s'); -- 2008-08-09 08:09:30

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

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(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'

四,時間輸出標記

'2010-09-08 13:14:15'

%w-%w wednesday-3 

%y-%y 2010-10

%m-%m september-09

%d-%d 8th-08

%h-%h 13-01

%i-%i 12-13(特別注意,%i=%h)

%s-%s 15-15

五,補充

utc時間+8小時=本地時間,涉及多國領域時再考慮utc時間(cur_timestamp())

MySql日期時間

mysql獲取當前日期及日期格式 獲取系統日期 now 格式化日期 date format date,format 注 date 時間字段 string format 日期格式 string create table datetest03 id int auto increment not null...

MySQL 日期時間

now 函式以 yyyy mm dd hh mm ss 返回當前的日期時間,可以直接存到datetime欄位中。curdate 以 yyyy mm dd 的格式返回今天的日期,可以直接存到date欄位中。curtime 以 hh mm ss 的格式返回當前的時間,可以直接存到time欄位中。取得當前...

MySql 日期時間

mysql 日期時間 1 查詢條件 2 常用函式 有 datetime 型別字段 publish time 1 查詢條件 庫中儲存 2004 02 04 格式 where date publish time 2004 02 04 庫中儲存 08 08 08 格式 where date publish...