MySQL的Data_ADD函数与日期格式化函数说明
今天看到了MySQL的日期函数,里面很多有用的,这里只把两个参数不太好记的粘下来了。
- DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type)
这些函数执行日期运算。 date 是一个 DATETIME 或DATE值,用来指定起始时间。 expr 是一个表达式,用来指定从起始日期添加或减去的时间间隔值。 Expr是一个字符串;对于负值的时间间隔,它可以以一个 ‘-'开头。 type 为关键词,它指示了表达式被解释的方式。
关键词INTERVA及 type 分类符均不区分大小写。
以下表显示了type 和expr 参数的关系:
MySQL 允许任何expr 格式中的标点分隔符。表中所显示的是建议的 分隔符。若 date 参数是一个 DATE 值,而你的计算只会包括 YEAR、MONTH和DAY部分(即, 没有时间部分), 其结果是一个DATE 值。否则,结果将是一个 DATETIME值。
若位于另一端的表达式是一个日期或日期时间值 , 则INTERVAL expr type只允许在 + 操作符的两端。对于 –操作符, INTERVAL expr type 只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。 (见下面的例子)。
mysql> SELECT '1997-12-31 23:59:59' + INTERVAL 1 SECOND;
-> '1998-01-01 00:00:00'
mysql> SELECT INTERVAL 1 DAY + '1997-12-31';
-> '1998-01-01'
mysql> SELECT '1998-01-01' - INTERVAL 1 SECOND;
-> '1997-12-31 23:59:59'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL 1 SECOND);
-> '1998-01-01 00:00:00'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL 1 DAY);
-> '1998-01-01 23:59:59'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL '1:1' MINUTE_SECOND);
-> '1998-01-01 00:01:00'
mysql> SELECT DATE_SUB('1998-01-01 00:00:00',
-> INTERVAL '1 1:1:1' DAY_SECOND);
-> '1997-12-30 22:58:59'
mysql> SELECT DATE_ADD('1998-01-01 00:00:00',
-> INTERVAL '-1 10' DAY_HOUR);
-> '1997-12-30 14:00:00'
mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
-> '1997-12-02'
mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002',
-> INTERVAL '1.999999' SECOND_MICROSECOND);
-> '1993-01-01 00:00:01.000001'
若你指定了一个过于短的时间间隔值 (不包括type 关键词所预期的所有时间间隔部分), MySQL 假定你已经省去了时间间隔值的最左部分。 例如,你指定了一种类型的DAY_SECOND, expr 的值预期应当具有天、 小时、分钟和秒部分。若你指定了一个类似 '1:10'的值, MySQL 假定天和小时部分不存在,那么这个值代表分和秒。换言之, '1:10' DAY_SECOND 被解释为相当于 '1:10' MINUTE_SECOND。这相当于 MySQL将TIME 值解释为所耗费的时间而不是日时的解释方式。
假如你对一个日期值添加或减去一些含有时间部分的内容,则结果自动转化为一个日期时间值:
mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 DAY);
-> '1999-01-02'
mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 HOUR);
-> '1999-01-01 01:00:00'
假如你使用了格式严重错误的日期,则结果为 NULL。假如你添加了 MONTH、YEAR_MONTH或YEAR ,而结果日期中有一天的日期大于添加的月份的日期最大限度,则这个日期自动被调整为添加月份的最大日期:
mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
-> '1998-02-28'
- DATE_FORMAT(date,format)
根据format 字符串安排date 值的格式。
以下说明符可用在 format 字符串中:
所有其它字符都被复制到结果中,无需作出解释。
注意, ‘%'字符要求在格式指定符之前。
月份和日期说明符的范围从零开始,原因是 MySQL允许存储诸如 '2004-00-00'的不完全日期.
mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');</b>
-> 'Saturday October 1997'
mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');</b>
-> '22:23:00'
mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00',</b>
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> <b>SELECT DATE_FORMAT('1997-10-04 22:23:00',</b>
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
mysql> <b>SELECT DATE_FORMAT('1999-01-01', '%X %V');</b>
-> '1998 52'

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP語言開發中,日期格式化錯誤是常見的問題。正確的日期格式對程式設計師來說十分重要,因為它決定程式碼的可讀性、可維護性和正確性。本文將分享一些處理日期格式化錯誤的技巧。在了解日期格式在處理日期格式化錯誤之前,我們必須先了解日期格式。日期格式是由各種字母和符號組成的字串,用於表示特定的日期和時間格式。在PHP中,常見的日期格式包括:Y:四位數年份(如20

Java是一種流行的程式語言,其中包含了許多強大的日期和時間處理工具。其中最常用的工具是DateFormat函數,該函數可以將日期資料格式化為特定的字串格式。本文將介紹如何使用Java中的DateFormat函數進行日期格式化。導入Date和DateFormat類別在開始使用DateFormat函數前,我們需要導入Java中的Date和DateFormat類

Python正規表示式是一種非常強大的文字處理工具,它可以對字串進行匹配、替換、提取等操作。在實際開發中,我們經常需要對日期進行格式化,例如將「2022/10/01」轉換成「2022年10月01日」的格式。本文將介紹如何使用Python正規表示式進行日期格式化。一、Python正規表示式概述Python正規表示式是一個特殊的字串模式,它描述了一系列符合某

PHP時間處理技巧:快速計算時間差和日期格式化隨著互聯網的快速發展,時間處理成為Web開發中常見的任務之一。在PHP中,時間的處理是比較常見的需求,例如計算時間差、對日期進行格式化等操作。本文將介紹一些PHP時間處理的技巧,包括快速計算時間差和日期格式化,並附帶一些具體的程式碼範例。計算時間差在許多應用場景下,我們需要計算兩個時間點之間的時間差,例如計算兩

解決Java日期格式化異常(DateTimeParseException)的解決方案概述:在Java中,日期格式化是一個常見的任務。透過使用SimpleDateFormat類別或Java8中提供的新的日期時間API(如DateTimeFormatter),我們可以將日期和時間轉換為指定的格式。然而,有時在進行日期格式化時,可能會遇到DateTimePars

如何在Java中使用日期和時間函數進行日期計算和格式化在Java中,日期和時間是非常常見且重要的資料類型。為了方便處理日期和時間,Java提供了豐富的日期和時間函數,可以進行日期計算、格式化等操作。以下將詳細介紹如何在Java中使用日期和時間函數,以及附上程式碼範例。一、日期計算取得目前日期使用java.time.LocalDate類別可以取得目前的日期。範例代

這篇文章將為大家詳細講解有關PHP格式化一個本地時間/日期,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP格式化本地時間/日期格式化本地時間和日期在php中是常見的任務,可以透過PHP的內建函數和類別來實現。內建函數PHP提供了幾個內建函數來格式化時間和日期:date():用於格式化當前時間和日期,並根據提供的格式字串傳回結果。 strftime():類似date(),但它使用POSIX的strftime()函數提供更進階的格式化選項。格式化參數date

PHP開發中如何處理日期和時間處理問題概述:在PHP開發過程中,日期和時間處理是非常常見的需求。無論是處理使用者註冊時間、日程安排或資料統計分析,對日期和時間進行準確的處理是非常重要的。本文將介紹一些常用的PHP日期和時間處理函數以及一些實務經驗。取得目前日期和時間在PHP中,可以使用date函數來取得目前日期和時間。 date函數的語法如下:stringd
