mysql-筆記-datetime


 

1 adddate(date,interval expr unit)--同 date_add()

select date_add('2019-4-20',interval 31 day); select adddate('2019-4-20',interval 31 day);

相關的函數:subdate()同date_sub()

Adddate(expr,days)---Mysql 把days 作為整數 天 加到 expr 上 select adddate('2019-4-20',31);

 

2 addtime(expr1,expr2) 返回 添加 expr2到expr1上的結果,expr1是一個時間或一個日期 表達式,expr2是一個時間表達式

select addtime('2019-4-20 23:59:59.999999','1 1:1:1.000002');

select addtime('01:00:00.999999','02:00:00.999998');

3 convert_tz(dt,from_tz,to_tz) 時區轉化,如果參數無效返回null

4 curdate() 返回當前日期 返回格式:YYYY-MM-DD 或 YYYYMMDD 基於 這個函數用於字符還是數字上下文環境中

select curdate(); select curdate()+0;

current_date,current_date() 同 curdate()

 

5 curtime([fsp]) 基於上下文環境-返回當前時間 格式:HH:MM:SS 或 HHMMSS

fsp 指定秒 小數位 0-6位

select curtime(); select curtime(2)+0;

6 date(expr) 提取日期部分 select date(expr);

7 datediff(expr1,expr2) 返回 expr1-expr2 天數,參數可以是日期,也可以是日期+時間,但是只計算日期部分

 8 date_add(date,interval expr unit); date_sub(date,interval expr unit);

date:指定開始日期

expr:指定要從開始日期 加或減去的數值,被當作字符類型,可以是負數。

unit:是一個關鍵字 指定 要加或減去的是:年 月 小時、分、秒

返回值 -如果 date 是 Date值只有年月日,則返回 Date類型,如果 第一個參數是 datetime 或 timestamp 值,或者 第一個參數是日期date unit值是小時、分、秒。其他類型則返回字符串

select date_add('2019-04-23',interval 1 day);

select date_sub('2019-4-23',interval 1 year);

同 subdate(date,interval expr unit);  subdate(expr,days);

9 date_format(date,format) :根據format格式化日期 format內使用說明字符 %是必須的。

select date_format('2019-04-23 22:59:59:00','%W %M %Y');

select date_format('2019-04-23','%d');

10 dayname(date):返回日期在星期幾名稱 ,名稱的語言取決於 lc_time_names 系統變量

select dayname('2019-04-23');

11 Day(date) ; Dayofmonth(date);返回月份中的天 范圍:1-31,如果 0000-00-00 或 2019-00-00 天中包含0時 返回 0

12 dayofweek(date):返回天在一周中的序號(1=sunday).select dayofweek('2019-04-23')

13 dayofyear(date) 返回天在一年中序號,范圍:1-366

select dayofyear('2019-04-23');

14 extract(unit from date):從date中提取一部分 unit 使用與date_add() 相同的說明符。select extract(year from '2019-04-23');

select extract(year_month from '2019-04-23'); select extract(day_minute from '2019-04-23 01:59:59');

select extract(microsecond from '2019-04-23 10:30:00.000123');

15 from_days(N):從給定的數字天數,返回 一個日期值 select from_days(100000);

16 from_unixtime(unix_timestamp[,format]):返回給定時間戳對應的日期。返類型取決於上下文。

select from_unixtime(100000,'%Y'); select from_unixtime(100000)+0;

17get_format({date|time|datetime|timestamp},{'eur'|'usa'|'jis'|'iso'|'internal'}) 返回一個格式字符串 在date_format() str_to_date() 函數中很有用

select get-format(datetime,'usa');

select date_format('2019-4-23',get_format(date,'eur'));

 18 hour(time):從time返回小時 范圍:0-23 。如果小時大於23,返回大於23的小時部分

select hour('272:59:59');

19 last_day(date) 從 date 或 datetime的月份中按日期返回相對應的月的最后一天。如果參數不是有效的,則返回null

select last_day('2019-4-23');

20 localtime,localtime([fsp]) 同 now();取本地當前時間

localtimestamp,localtimestamp([fsp]) 同 now() 取本地當前時間

now([fsp]): 返回當前天和時間,根據上下文 返回格式;yyyy-MM-DD HH:MM:SS 或 YYYYMMDDHHMMSS 

select now(); select now()+0;

now()返回語句開始執行時間,sysdate() 返回確切的執行時間 select now(),sleep(2),now(); select sysdate(),sleep(2),sysdate();

21 makedate(year,dayofyear):返回 指定年 和 年中天數 對應的日期,dayofyear必須大於0.否則返回null

select makedate(2019,40);select makedate(2019,365);

22 maketime(hour,minute,second):根據參數 返回對應的時間

select maketime(12,15,30);

23 microsecond(expr):從時間或日期 表達式中-返回毫秒 范圍:0-999999

select microsecond('12:00:00.123456');

24 minute(time):從時間參數中返回分鍾 ,范圍:0-59 select minute('2019-04-24 10:05:03');

25 month(date):從日期中返回對應的月份 范圍:1-12 或 0 0000-00-00   select month('2019-4-23');

26 period_add(p,n):在時間段P上加上N個月,P的格式 :YYMM 或 YYYYMM 不是一個日期值.返回形式:YYYYMM 

select period_add(201904,2);

27 period_diff(p1,p2): 返回p1和p2之間的月數,p1/p2 必須是YYMM 或YYYYMM 格式,且不是日期值

select period_diff(200802,200703);

28 quarter(date):返回日期參數中的季度 。select quarter('2019-04-24');

29 second(time):返回時間參數的秒,范圍:0-59。select second('10:05:03');

30 sec_to_time(seconds):從秒參數返回 小時 分 秒 時間值。 select sec_to_time(2378);select sec_to_time(2378)+0;

31 str_to_date(str,format):與 date_format()相反的函數,參數str  format是字符串類型,

如果format包含日期和時間-則返回datetime值,如果只有日期或時間,則只返加日期date 或時間time值

如果從str中返的日期、時間是不合法的,則返回null 或產生一個警告

select str_to_date('01,5,2019','%d,%m,%Y'); select str_to_date('May 1,2019','%M %d,%Y');

從str的開頭對比,如果 匹配不到format,匹配失敗。在str結尾多余的字符被忽略

select str_to_date('a09:30:17','a%h:%i:%s'); select str_to_date('a09:30:17','%h:%i:%s');

select str_to_date('09:30:17a','%h:%i:%s');

沒有指定的部分被賦值為0 set sql_mode=''; select str_to_date('9','%m');

如果 sql_mode=no_zero_date 或 no_zero_in_date,0日期或部分為0是不允許的,返回null 或 警告

32 subtime(expr1,expr2); 返回 expr1-expr2 的值 與expr1格式相同,expr1是一個時間或日期時間表達式,expr2是一個時間表達式。

33 sysdate([fsp]):返回當前日期時間值 格式:YYYY-MM-DD hh:mm:ss 或 YYYYMMDDhhmmss 

fsp:指定秒的小位位 0-6位

sysdate()返回執行時的時間,now()返回開始執行的時間 

select now(),sleep(2),now(); select sysdate(),sleep(2),sysdate();

 34 time(expr):從時間或日期時間表達式 expr中提取時間部分 並以字符串返回。

select time('2019-05-05 01:02:03'); select time('2019-05-05 01:02:03.000123');

35 timediff(expr1,expr2):返回 expr1-expr2 時間差。expr1 和expr2 可以是 時間 或是 日期時間 表達式,但是必須是同一種類型。

timediff返回值限制在時間范圍內。timestampdiff() 和unix_timestamp() 都返回整數

select timediff('2019-05-05 00:00:00','2019-05-05 00:00:00.000001');

36 timestamp(expr) 返表達式的時間值

timestamp(expr1,expr2);返回 expr2加到expr1上的時間值

select timestamp('2019-05-05');select timestamp('2019-05-05 12:00:00','12:00:00');

37TimeStampAdd(unit,interval,datetime_expr)按 unit 指定的部分-添加整數表達式值 interval到日期時間表達式

unit 可以是:microsecond,second,minute,hour,day,week,month,quarter, year

select timestampadd(minute,1,'2019-05-08');select timestampadd(week,1,'2019-05-08');

38 timestampdiff(unit,datetime_expr1,datetime_expr2) 按unit 指定的日期時間部分 返回時間表達式2減去表達式1的差,要以是一個表達式是日期類型,一個是日期時間類型。

select timestampdiff(month,'2019-01-01','2019-05-08'); select timestampdiff(minute,'2019-01-01','2019-05-08 12:00:00');

39 time_format(time,format) 同 date_format()

40 time_to_sec(time) 返回time參數據轉化為的秒數

select time_to_sec('22:23:00');select time_to_sec('00:39:38');

41 to_days(date) 返回 從0年開始到日期參數 date對應的天數

select to_days(9000);select to_days('2019-05-08');select to_days('0000-00-00');select to_days('0000-01-01');

 42 to_seconds(expr) 返回從0年到給定日期或日期時間表達式的秒數。如果 參數不是有效的日期時間格式 返加null

43 unix_timestamp([date]) 獲取時間戳 從1970-01-01 00:00:00 開始

44 utc_date,utc_date();返回當前utc時間值 根據上下文環境返回格式:YYYY-MM-DD 或 YYYYMMDD

select utc_date(),utc_date()+0;

45 utc_time,utc_time([fsp])返回當前Utc時間值 格式:hh:mm:ss 或 hhmmss,fsp 指定秒的小數位

select utc_time(),utc_time()+0;

46 utc_timestamp,utc_timestamp([fsp]) 返回當前utc日期時間值 格式:YYYY-MM-DD hh:mm:ss 或 YYYYMMDDhhmmss 

select utc_timstamp(),utc_timestamp()+0;

47 week(date[,mode]);返回參數date在當前年中的第幾周

select week('2019-05-13');

48 weekday(date):返回周幾的索引(0 周一...6=周六)

select weekday('2019-05-13 0:00:00'); select weekday('2019-05-13');

49 weekofyear(date):返回1-53范轉內的日歷周 在年中的第幾周 (同 week(date,3))

select weekofyear('2019-05-13'); 

50 year(date):返回日期的年 范圍:1000-9999

51 yearweek(date),yearweek(date,mode) 返回年和查詢年中的第幾周

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM