
1. sqlserver中獲取時間用getdate(),默認返回格式是2019-01-21 13:58:33.053,具體的年月日,時分秒毫米,年月日之間用短線連接,時分秒之間用冒號連接,秒和毫米之間用點號連接

2. mysql中沒有getdate()函數,常用sysdate()和now()函數,獲取日期+時間




3. 在上述mysql獲取時間的4個函數中,sqlserver對current_timestamp也有定義,返回時間格式2019-01-21 13:58:33.053

select getdate() select sysdate(); select now(); select current_timestamp select current_timestamp() select now(),sysdate(),sleep(1),now(),sysdate() select date_format(now(),'%Y%m%d%H%i%s') select time_format(now(),'%Y%m%d%H%i%s')
4. mysql中now()函數和sysdate()的區別
眨眼看上去都是一樣返回了日期和時間,精確到秒,年月日之間用短線連接,時分秒之間用冒號連接
通過sleep()函數延遲了一秒之后,發現now() 是在查詢開始時刻則計算了時間,而sysdate()是動態獲取時間

5. mysql中日期按指定格式返回,用到date_format(date,format);時間按照指定格式返回,用到time_format(time,format)

6. mysql 中常見的字符串轉換成日期和時間的函數,時分秒中注意下大寫H和小寫h的區別。H可表示24進制的小時,h表示12進制的小時
select str_to_date('01/21/2019', '%m/%d/%Y'); -- 2019-01-21
select str_to_date('01/21/19' , '%m/%d/%y'); -- 2019-01-21
select str_to_date('01.21.2019', '%m.%d.%Y'); -- 2019-01-21
select str_to_date('14:27:30', '%H:%i:%s'); -- 14:27:30
select str_to_date('02:27:30', '%h:%i:%s'); -- 02:27:30
select str_to_date('11:27:30', '%h:%i:%s'); -- 11:27:30
select str_to_date('01.21.2019 14:27:30', '%m.%d.%Y %H:%i:%s'); -- 2019-01-21 14:27:30
7. mysql中日期轉換成天數,to_days()
8. mysql中天數轉換成日期,from_days()
select str_to_date('01/21/2019', '%m/%d/%Y'); -- 2019-01-21
select str_to_date('01/21/19' , '%m/%d/%y'); -- 2019-01-21
select str_to_date('01.21.2019', '%m.%d.%Y'); -- 2019-01-21
select str_to_date('14:27:30', '%H:%i:%s'); -- 14:27:30
select str_to_date('02:27:30', '%h:%i:%s'); -- 02:27:30
select str_to_date('11:27:30', '%h:%i:%s'); -- 11:27:30
select str_to_date('01.21.2019 14:27:30', '%m.%d.%Y %H:%i:%s'); -- 2019-01-21 14:27:30
select to_days('0000-00-00'); -- 0
select to_days('2019-01-21'); -- 737445
select from_days(737445); -- 2019-01-21
select from_days(0); -- 0000-00-00
9. mysql中日期增加或減去一定時間間隔date_add()
select date_add(now(), interval 1 day); -- add 1 day select date_add(now(), interval 1 hour); -- add 1 hour select date_add(now(), interval 1 minute); -- ... select date_add(now(), interval 1 second); select date_add(now(), interval 1 microsecond); select date_add(now(), interval 1 week); select date_add(now(), interval 1 month); select date_add(now(), interval 1 quarter); select date_add(now(), interval 1 year); select date_add(now(), interval -1 day); -- 1 day
10. mysql中拼日期和時間的函數,makdedate(year,dayofyear), maketime(hour,minute,second)
select makedate(2019,31); -- '2019-01-31' select makedate(2019,32); -- '2019-02-01' select maketime(12,15,30); -- '12:15:30'
