一、日期與時間類型
數(shù)據(jù)類型 |
含義 |
對應范圍 |
DATETIME |
日期和時間 |
1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
DATE |
日期 |
1000-01-01~ 9999-12-31 |
YEAR |
年 |
1901~2155(4位時) 1970~2069(70~69)(2位時) |
TIME |
時間 |
-838:59:59~838:59:59 |
注意:日期和時間類型的數(shù)據(jù)需要用“ ”或 ‘ ’括起來;
在MYSQL中日期必須用YYYY-MM-DD格式輸入,時間必須用HH:MM:SS格式輸入。
二、日期與時間的函數(shù)
1、now():返回日期和時間?:輸入列最好設置為datetime類型
2、date_format () :更改時間顯示格式
????????DATE_FORMAT(date,format) date 參數(shù)是合法的日期。format 規(guī)定日期/時間的輸出格式,要用‘’括起來。
格式 |
描述 |
%a |
縮寫星期名 |
%b |
縮寫月名 |
%c |
月,數(shù)值 |
%D |
帶有英文前綴的月中的天 |
%d |
月的天,數(shù)值(00-31) |
%e |
月的天,數(shù)值(0-31) |
%f |
微秒 |
%H |
小時 (00-23) |
%h |
小時 (01-12) |
%I |
小時 (01-12) |
%i |
分鐘,數(shù)值(00-59) |
%j |
年的天 (001-366) |
%k |
小時 (0-23) |
%l |
小時 (1-12) |
%M |
月名 |
%m |
月,數(shù)值(00-12) |
%p |
AM 或 PM |
%r |
時間,12-小時(hh:mm:ss AM 或 PM) |
%S |
秒(00-59) |
%s |
秒(00-59) |
%T |
時間, 24-小時 (hh:mm:ss) |
%U |
周 (00-53) 星期日是一周的第一天 |
%u |
周 (00-53) 星期一是一周的第一天 |
%V |
周 (01-53) 星期日是一周的第一天,與 %X 使用 |
%v |
周 (01-53) 星期一是一周的第一天,與 %x 使用 |
%W |
星期名 |
%w |
周的天 (0=星期日, 6=星期六) |
%X |
年,其中的星期日是周的第一天,4 位,與 %V 使用 |
%x |
年,其中的星期一是周的第一天,4 位,與 %v 使用 |
%Y |
年,4 位 |
%y |
年,2 位 |
3、返回當前時間的年份:year(date), date 參數(shù)是合法的日期
4、返回當前時間的月份:month(date)
5、返回當前時間的天數(shù):day(date)
6、返回當前時間當月最后一天:last_day(date)
7、返回當前時間當月的總天數(shù):day(last_day(date)
8、返回多少間隔前/后的日期:
- ????????date_add(date,INTERVAL expr type) 返回多少間隔后的日期
- ????????date_sub(date,INTERVAL expr type) 返回多少間隔前的日期
- date是指定的日期,INTERVAL為關鍵詞,expr是具體的時間間隔,type是時間單位。
注意:type可以復合型的,比如YEAR_MONTH。對應復合型的type,需要使用引號對兩個參數(shù)進行引用起來,中間用任何非數(shù)字字符作為間隔即可,并且不能使用負數(shù)。
如:
select DATE_SUB(NOW(), INTERVAL 1 DAY) as 一天前;
select DATE_SUB(NOW(), INTERVAL 1 month) as 一個月前;
select DATE_SUB(NOW(), INTERVAL 1 week) as 一周前;
select DATE_SUB(NOW(), INTERVAL 1 year) as 一年前;
select DATE_ADD(NOW(),INTERVAL 1 hour) 一個小時后。
????????可用的type表如下:
9、計算兩個時間的的差值:(間隔日/月/年等)
????????datediff函數(shù)與timestampdiff函數(shù)的區(qū)別:
- datediff(startdate大時間, enddate小時間),求日期差,返回值是相差的天數(shù),不能定位到小時、分鐘和秒。
(注意:如果日期1比日期2大,結果為正;如果日期1比日期2小,結果為負)返回類型int,其中startdate和enddate 參數(shù)是合法的日期表達式。文章來源:http://www.zghlxwxcb.cn/news/detail-434618.html
- timestampdiff(datepart, startdate小時間, enddate大時間),求時間戳的差,
有參數(shù)設置,可以精確到天(DAY)、小時(HOUR),分鐘(MINUTE)和秒(SECOND),使用起來比datediff函數(shù)更加靈活。對于比較的兩個時間,時間小的放在前面,時間大的放在后面。(注意:與diffdate()函數(shù)的正、負號規(guī)則剛好相反,日期1大于日期2,結果為負,日期1小于日期2,結果為正。)文章來源地址http://www.zghlxwxcb.cn/news/detail-434618.html
到了這里,關于SQL中日期與時間類型及函數(shù)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!