時間字段規定模式獲取

2022-06-09 16:24:11 字數 3187 閱讀 8689

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

set @dt = '2008-09-10 07:15:30.123456';

select date(@dt); -- 2008-09-10

select time(@dt); -- 07:15:30.123456

select year(@dt); -- 2008

select quarter(@dt); -- 3

select month(@dt); -- 9

select week(@dt); -- 36

select day(@dt); -- 10

select hour(@dt); -- 7

select minute(@dt); -- 15

select second(@dt); -- 30

select microsecond(@dt); -- 123456

2. mysql extract() 函式,可以上面實現類似的功能:

set @dt = '2008-09-10 07:15:30.123456';

select extract(year from @dt); -- 2008

select extract(quarter from @dt); -- 3

select extract(month from @dt); -- 9

select extract(week from @dt); -- 36

select extract(day from @dt); -- 10

select extract(hour from @dt); -- 7

select extract(minute from @dt); -- 15

select extract(second from @dt); -- 30

select extract(microsecond from @dt); -- 123456select extract(year_month from @dt); -- 200809

select extract(day_hour from @dt); -- 1007

select extract(day_minute from @dt); -- 100715

select extract(day_second from @dt); -- 10071530

select extract(day_microsecond from @dt); -- 10071530123456

select extract(hour_minute from @dt); -- 715

select extract(hour_second from @dt); -- 71530

select extract(hour_microsecond from @dt); -- 71530123456

select extract(minute_second from @dt); -- 1530

select extract(minute_microsecond from @dt); -- 1530123456

select extract(second_microsecond from @dt); -- 30123456

mysqlextract() 函式除了沒有date(),time() 的功能外,其他功能一應具全。並且還具有選取『day_microsecond』等功能。注意這裡不是只選取 day 和 microsecond,而是從日期的 day 部分一直選取到 microsecond 部分。夠強悍的吧!

mysql extract() 函式唯一不好的地方在於:你需要多敲幾次鍵盤。

3. mysql dayof… 函式:dayofweek(), dayofmonth(), dayofyear()

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

set @dt = '2008-08-08';

select dayofweek(@dt); -- 6

select dayofmonth(@dt); -- 8

select dayofyear(@dt); -- 221

日期 『2008-08-08′ 是一周中的第 6 天(1 = sunday, 2 = monday, …, 7 = saturday);一月中的第 8 天;一年中的第 221 天。

4. mysql week… 函式:week(), weekofyear(), dayofweek(), weekday(), yearweek()

set @dt = '2008-08-08';

select week(@dt); -- 31

select week(@dt,3); -- 32

select weekofyear(@dt); -- 32

select dayofweek(@dt); -- 6

select weekday(@dt); -- 4

select yearweek(@dt); -- 200831

mysql week() 函式,可以有兩個引數,具體可看手冊。 weekofyear() 和 week() 一樣,都是計算「某天」是位於一年中的第幾周。 weekofyear(@dt) 等價於 week(@dt,3)。

mysqlweekday() 函式和 dayofweek() 類似,都是返回「某天」在一周中的位置。不同點在於參考的標準, weekday:(0 =monday, 1 = tuesday, …, 6 = sunday); dayofweek:(1 = sunday, 2 = monday,…, 7 = saturday)

mysql yearweek() 函式,返回 year(2008) + week 位置(31)。

5. mysql 返回星期和月份名稱函式:dayname(), monthname()

set @dt = '2008-08-08';

select dayname(@dt); -- friday

select monthname(@dt); -- august

思考,如何返回中文的名稱呢?

6. mysql last_day() 函式:返回月份中的最後一天。

select last_day('2008-02-01'); -- 2008-02-29

select last_day('2008-08-08'); -- 2008-08-31

mysql last_day() 函式非常有用,比如我想得到當前月份中有多少天

**自: 

獲取今天時間並且按照規定格式返回

nsdate currentdate nsdate date 獲取當前時間,日期 nsdateformatter dateformatter nsdateformatter alloc init dateformatter setdateformat yyyy mm dd hh mm ss ss n...

el date picker選擇規定時間範圍

在寫vue專案利用餓了嗎ui的時候el date picker元件需要只能選擇一定的時間範圍,比如說只能選擇過去十天中的某一天 要達到這樣的效果 好了,直接上 先上el date picker的 v model mydate type date value format yyyy mm dd pic...

Mysql 如何設定字段自動獲取當前時間

問題一 在資料表中,要記錄每條資料是什麼時候建立的,不需要應用程式去特意記錄,而由資料資料庫獲取當前時間自動記錄建立時間 1 將字段型別設為 timestamp 2 將預設值設為 current timestamp 此時,插入資料後 和自增主鍵一樣,無需制定inc time欄位 mysql會自動將i...