tft每日頭條

 > 生活

 > mysql時間格式的區别

mysql時間格式的區别

生活 更新时间:2024-12-05 11:03:26

【原理】日期、時間類型比較

比較的是時間戳,即long型

【原理】日期、時間類型和字符串比較

當涉及日期類型、時間類型和字符串類型比較時,會先将字符串轉換成日期、時間類型,然後進行比較;

例如: date_col < "2020-09-01" ,date_col是date類型,在比較時,會先将"2020-09-01"轉換成date類型,然後再比較

【常用日期和時間處理函數】

AddDate():增加一個日期(天、周等)

AddTime():增加一個是時間(時、分等)

Now():返回當前日期和時間

CurDate():返回當前日期

CurTime():返回當前時間

Date():返回日期時間的日期部分

DateDiff():計算兩個日期之差

-語法: datediff(string enddate, string startdate)。返回結束日期減去開始日期的天數

Date_Add():高度靈活的日期運算函數

Date_Sub(): 返回兩個日期之間的間隔

-語法: date_sub (string startdate, int days)。 返回開始日期startdate減少days天後的日期。

Date_Format():返回一個格式化的日期或時間串

DayOfWeek():對于一個日期,返回對應的星期幾,顯示的一周是從周日開始周六結束,其中周日為1,周六為7

WeekDay(): 對于一個日期,返回對應的星期幾,顯示的一周是從周一開始周日結束,其中周一為0,周日為6

Time():返回一個日期時間的時間部分

Year():返回一個日期的年份部分

Month():返回一個日期的月份部分

Day():返回一個日期的天數部分

Hour():返回一個時間的小時部分

Minute():返回一個時間的分鐘部分

Second():返回一個時間的秒數部分

【日期函數轉換】

  1. UNIX時間戳轉日期函數: (時間戳->日期)

from_unixtime語法: from_unixtime(bigint unixtime[, string format])。轉化UNIX時間戳(從1970-01-01 00:00:00 UTC到指定時間的秒數)到當前時區的時間格式

2. 獲取當前UNIX時間戳函數:(當前時間戳)

unix_timestamp

語法: unix_timestamp()。獲得當前時區的UNIX時間戳

3. 日期轉UNIX時間戳函數:(日期->時間戳)

unix_timestamp語法: unix_timestamp(string date)。轉換格式為"yyyy-MM-dd HH:mm:ss"的日期到UNIX時間戳。如果轉化失敗,則返回0。4. 指定格式日期轉UNIX時間戳函數:(指定日期格式化->時間戳)

unix_timestamp

語法: unix_timestamp(string date, string pattern)。轉換pattern格式的日期到UNIX時間戳。如果轉化失敗,則返回0。

【日期格式化】

DATE_FORMAT() 函數用于以不同的格式顯示日期/時間數據

mysql時間格式的區别(MySQL-日期時間類型比較)1

【日期、時間戳、字符串互轉】

涉及函數:

date_format(date,format)

unix_timestamp()

str_to_date(str,format)

from_unixtime(unix_timestamp,format)

1) 時間->字符串

date_format(now(0,"%Y-%m-%d")

2) 時間->時間戳

unix_timestamp(now())

3) 字符串-> 時間

str_to_date("2016-01-02","%Y-%m-%d %T")

4) 字符串-> 時間戳

unix_timestamp("2020-08-01")

5) 時間戳-> 時間

from_unixtime(1592755199)

6) 時間戳-> 字符串

from_unixtime(1592755199,"%Y-%m-%d")

【時間差函數】-timestampdiff、timediff、datediff

1.timestampdiff

語法:timestampdiff(interval, startDateTime,endDateTime)

結果:返回(endDateTime-startDateTime)的時間差,結果單位由interval參數給出。

interval 參數:

  • frac_second 毫秒(低版本不支持,用second,再除于1000)
  • second 秒
  • minute 分鐘
  • hour 小時
  • day 天
  • week 周
  • month 月
  • quarter 季度
  • year 年

2. timediff

語法:timediff( Date1, Date2)

結果:返回DAY天數,Date1-Date2 的天數值,結果單位為day

3. datediff

語法:timediff(time1,time2)

結果:返回兩個時間相減得到的差值,time1-time2,結果單位為Time類型

【案例-常用日期和時間處理函數】

select ADDDATE(NOW(),INTERVAL 1 DAY)

select ADDTIME(NOW(),"10:10:10")

select Now()

select CURDATE()

select CurTime()

select CURRENT_DATE()

select CURRENT_TIME()

select CURRENT_TIMESTAMP()

select DATE(now())

select DATEDIFF("2020-08-01","2020-08-20")

select DATE_ADD(NOW(),INTERVAL 1 DAY)

select DATE_FORMAT(NOW(),"%Y-%m-%d"),DATE_FORMAT(NOW(),"%y-%M-%D %T")

select DAYOFWEEK("2020-09-21"),WEEKDAY("2020-09-21")

select TIME(now())

select YEAR(now())

select month(now())

select DAY(now())

select Hour(now())

select Minute(now())

select second(now())

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved