《Mysql應用MySQL的Data_ADD函數與日期格式化函數說明》要點:
本文介紹了Mysql應用MySQL的Data_ADD函數與日期格式化函數說明,希望對您有用。如果有疑問,可以聯系我們。
MYSQL學習這些函數執行日期運算. date 是一個 DATETIME 或DATE值,用來指定起始時間. expr 是一個表達式,用來指定從起始日期添加或減去的時間間隔值.? Expr是一個字符串;對于負值的時間間隔,它可以以一個 ‘-'開頭. type 為關鍵詞,它指示了表達式被解釋的方式.?
MYSQL學習關鍵詞INTERVA及 type 分類符均不區分大小寫.
MYSQL學習以下表顯示了type 和expr 參數的關系:
MYSQL學習type 值 |
MYSQL學習預期的 expr 格式 |
MYSQL學習MICROSECOND |
MYSQL學習MICROSECONDS |
MYSQL學習SECOND |
MYSQL學習SECONDS |
MYSQL學習MINUTE |
MYSQL學習MINUTES |
MYSQL學習HOUR |
MYSQL學習HOURS |
MYSQL學習DAY |
MYSQL學習DAYS |
MYSQL學習WEEK |
MYSQL學習WEEKS |
MYSQL學習MONTH |
MYSQL學習MONTHS |
MYSQL學習QUARTER |
MYSQL學習QUARTERS |
MYSQL學習YEAR |
MYSQL學習YEARS |
MYSQL學習SECOND_MICROSECOND |
MYSQL學習'SECONDS.MICROSECONDS' |
MYSQL學習MINUTE_MICROSECOND |
MYSQL學習'MINUTES.MICROSECONDS' |
MYSQL學習MINUTE_SECOND |
MYSQL學習'MINUTES:SECONDS' |
MYSQL學習HOUR_MICROSECOND |
MYSQL學習'HOURS.MICROSECONDS' |
MYSQL學習HOUR_SECOND |
MYSQL學習'HOURS:MINUTES:SECONDS' |
MYSQL學習HOUR_MINUTE |
MYSQL學習'HOURS:MINUTES' |
MYSQL學習DAY_MICROSECOND |
MYSQL學習'DAYS.MICROSECONDS' |
MYSQL學習DAY_SECOND |
MYSQL學習'DAYS HOURS:MINUTES:SECONDS' |
MYSQL學習DAY_MINUTE |
MYSQL學習'DAYS HOURS:MINUTES' |
MYSQL學習DAY_HOUR |
MYSQL學習'DAYS HOURS' |
MYSQL學習YEAR_MONTH |
MYSQL學習'YEARS-MONTHS' |
MYSQL學習MySQL 允許任何expr 格式中的標點分隔符.表中所顯示的是建議的 分隔符.若 date 參數是一個 DATE 值,而你的計算只會包括 YEAR、MONTH和DAY部分(即, 沒有時間部分), 其結果是一個DATE 值.否則,結果將是一個 DATETIME值.
MYSQL學習若位于另一端的表達式是一個日期或日期時間值 , 則INTERVAL expr type只允許在 + 操作符的兩端.對于 C操作符,? INTERVAL expr type 只允許在其右端,原因是從一個時間間隔中提取一個日期或日期時間值是毫無意義的. (見下面的例子).
MYSQL學習mysql> SELECT '1997-12-31 23:59:59' + INTERVAL 1 SECOND;
MYSQL學習??????? -> '1998-01-01 00:00:00'
MYSQL學習mysql> SELECT INTERVAL 1 DAY + '1997-12-31';
MYSQL學習??????? -> '1998-01-01'
MYSQL學習mysql> SELECT '1998-01-01' - INTERVAL 1 SECOND;
MYSQL學習??????? -> '1997-12-31 23:59:59'
MYSQL學習mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
MYSQL學習??? ->???????????????? INTERVAL 1 SECOND);
MYSQL學習??????? -> '1998-01-01 00:00:00'
MYSQL學習mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
MYSQL學習??? ->???????????????? INTERVAL 1 DAY);
MYSQL學習??????? -> '1998-01-01 23:59:59'
MYSQL學習mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
MYSQL學習??? ->???????????????? INTERVAL '1:1' MINUTE_SECOND);
MYSQL學習??????? -> '1998-01-01 00:01:00'
MYSQL學習mysql> SELECT DATE_SUB('1998-01-01 00:00:00',
MYSQL學習??? ->???????????????? INTERVAL '1 1:1:1' DAY_SECOND);
MYSQL學習??????? -> '1997-12-30 22:58:59'
MYSQL學習mysql> SELECT DATE_ADD('1998-01-01 00:00:00',
MYSQL學習??? ->???????????????? INTERVAL '-1 10' DAY_HOUR);
MYSQL學習??????? -> '1997-12-30 14:00:00'
MYSQL學習mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
MYSQL學習??????? -> '1997-12-02'
MYSQL學習mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002',
MYSQL學習??? ->??????????? INTERVAL '1.999999' SECOND_MICROSECOND);
MYSQL學習??????? -> '1993-01-01 00:00:01.000001'
MYSQL學習若你指定了一個過于短的時間間隔值 (不包括type 關鍵詞所預期的所有時間間隔部分), MySQL 假定你已經省去了時間間隔值的最左部分. 例如,你指定了一種類型的DAY_SECOND, expr 的值預期應當具有天、 小時、分鐘和秒部分.若你指定了一個類似 '1:10'的值, MySQL 假定天和小時部分不存在,那么這個值代表分和秒.換言之, '1:10' DAY_SECOND 被解釋為相當于 '1:10' MINUTE_SECOND.這相當于 MySQL將TIME 值解釋為所耗費的時間而不是日時的解釋方式.?????????????
MYSQL學習假如你對一個日期值添加或減去一些含有時間部分的內容,則結果自動轉化為一個日期時間值:
MYSQL學習mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 DAY);
MYSQL學習??????? -> '1999-01-02'
MYSQL學習mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 HOUR);
MYSQL學習??????? -> '1999-01-01 01:00:00'
MYSQL學習假如你使用了格式嚴重錯誤的日期,則結果為 NULL.假如你添加了? MONTH、YEAR_MONTH或YEAR ,而結果日期中有一天的日期大于添加的月份的日期最大限度,則這個日期自動被調整為添加月份的最大日期:
MYSQL學習mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
MYSQL學習??????? -> '1998-02-28'
MYSQL學習根據format 字符串安排date 值的格式.
MYSQL學習以下說明符可用在 format 字符串中:
MYSQL學習說明符 |
MYSQL學習說明 |
MYSQL學習%a |
MYSQL學習工作日的縮寫名稱? (Sun..Sat) |
MYSQL學習%b |
MYSQL學習月份的縮寫名稱? (Jan..Dec) |
MYSQL學習%c |
MYSQL學習月份,數字形式(0..12) |
MYSQL學習%D |
MYSQL學習帶有英語后綴的該月日期? (0th, 1st, 2nd, 3rd, ...) |
MYSQL學習%d |
MYSQL學習該月日期, 數字形式 (00..31) |
MYSQL學習%e |
MYSQL學習該月日期, 數字形式(0..31) |
MYSQL學習%f |
MYSQL學習微秒 (000000..999999) |
MYSQL學習%H |
MYSQL學習小時(00..23) |
MYSQL學習%h |
MYSQL學習小時(01..12) |
MYSQL學習%I |
MYSQL學習小時 (01..12) |
MYSQL學習%i |
MYSQL學習分鐘,數字形式 (00..59) |
MYSQL學習%j |
MYSQL學習一年中的天數 (001..366) |
MYSQL學習%k |
MYSQL學習小時 (0..23) |
MYSQL學習%l |
MYSQL學習小時 (1..12) |
MYSQL學習%M |
MYSQL學習月份名稱 (January..December) |
MYSQL學習%m |
MYSQL學習月份, 數字形式 (00..12) |
MYSQL學習%p |
MYSQL學習上午(AM)或下午( PM) |
MYSQL學習%r |
MYSQL學習時間 , 12小時制 (小時hh:分鐘mm:秒數ss 后加 AM或PM) |
MYSQL學習%S |
MYSQL學習秒 (00..59) |
MYSQL學習%s |
MYSQL學習秒 (00..59) |
MYSQL學習%T |
MYSQL學習時間 , 24小時制 (小時hh:分鐘mm:秒數ss) |
MYSQL學習%U |
MYSQL學習周 (00..53), 其中周日為每周的第一天 |
MYSQL學習%u |
MYSQL學習周 (00..53), 其中周一為每周的第一天? |
MYSQL學習%V |
MYSQL學習周 (01..53), 其中周日為每周的第一天 ; 和 %X同時使用 |
MYSQL學習%v |
MYSQL學習周 (01..53), 其中周一為每周的第一天 ; 和 %x同時使用 |
MYSQL學習%W |
MYSQL學習工作日名稱 (周日..周六) |
MYSQL學習%w |
MYSQL學習一周中的每日 (0=周日..6=周六) |
MYSQL學習%X |
MYSQL學習該周的年份,其中周日為每周的第一天, 數字形式,4位數;和%V同時使用 |
MYSQL學習%x |
MYSQL學習該周的年份,其中周一為每周的第一天, 數字形式,4位數;和%v同時使用 |
MYSQL學習%Y |
MYSQL學習年份, 數字形式,4位數 |
MYSQL學習%y |
MYSQL學習年份, 數字形式 (2位數) |
MYSQL學習%% |
MYSQL學習‘%'文字字符 |
MYSQL學習所有其它字符都被復制到結果中,無需作出解釋.
MYSQL學習注意, ‘%'字符要求在格式指定符之前.
MYSQL學習月份和日期說明符的范圍從零開始,原因是 MySQL允許存儲諸如 '2004-00-00'的不完全日期.
MYSQL學習mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
MYSQL學習??????? -> 'Saturday October 1997'
MYSQL學習mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
MYSQL學習??????? -> '22:23:00'
MYSQL學習mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
MYSQL學習????????????????????????? '%D %y %a %d %m %b %j');
MYSQL學習??????? -> '4th 97 Sat 04 10 Oct 277'
MYSQL學習mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
MYSQL學習????????????????????????? '%H %k %I %r %T %S %w');
MYSQL學習??????? -> '22 22 10 10:23:00 PM 22:23:00 00 6'
MYSQL學習mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
MYSQL學習??????? -> '1998 52'
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/2184.html