TIMESTAMPDIFF
TIMESTAMPDIFF
是一個MySQL函數(shù),用于計算兩個日期或時間之間的差值。函數(shù)返回兩個日期或時間之間的差值,并以指定的單位表示。
語法:
TIMESTAMPDIFF(unit, start_date, end_date)
其中:
-
unit
是計算的單位??梢允且韵轮担篩EAR(年)、QUARTER(季度)、MONTH(月)、DAY(天)、HOUR(小時)、MINUTE(分鐘)、SECOND(秒)。 -
start_date
是開始日期或時間。 -
end_date
是結(jié)束日期或時間。
示例:文章來源:http://www.zghlxwxcb.cn/news/detail-678648.html
- 計算了兩個日期之間的天數(shù)差。
SELECT TIMESTAMPDIFF(DAY, '2022-01-01', '2022-02-01') AS day_diff;
CONCAT
CONCAT函數(shù)是MySQL中用來連接多個字符串的函數(shù)。它可以將兩個或多個字符串拼接在一起,并返回拼接后的結(jié)果。
語法:
concat(str1, str2,...)
其中:
- 返回結(jié)果為連接參數(shù)產(chǎn)生的字符串
- 如果有任何一個參數(shù)為null,則返回值為null。
示例:
SELECT CONCAT('Hello', ' ', 'World');
輸出:Hello World
round
-round函數(shù)是一個常用的四舍五入函數(shù)。它可以用于對浮點數(shù)進行取整運算。
它有兩種常用的用法:
一種是只傳入一個參數(shù),即要進行取整的浮點數(shù)值;
另一種是傳入兩個參數(shù),第一個參數(shù)是要進行取整的浮點數(shù)值,第二個參數(shù)是精確到小數(shù)點后幾位,默認為0。
語法:
SELECT ROUND(column_name,decimals) FROM [表名];
其中:
-
column_name: 要舍入的字段,必需
-
decimals: 規(guī)定要返回的小數(shù)位數(shù),可選
示例:
- ROUND(X): 返回’參數(shù)X’四舍五入的一個整數(shù)
SELECT ROUND(1.58);
查詢結(jié)果:2
- ROUND(X,D): 返回’參數(shù)X’四舍五入的有 D位小數(shù)的一個數(shù)字。
- 如果D為0,結(jié)果將沒有小數(shù)點或小數(shù)部分;
- 如果D為負數(shù),這時是指定小數(shù)點左邊的D位整數(shù)位為0,同時小數(shù)位均為0
SELECT ROUND(1123.26723,1);
SELECT ROUND(1123.26723,0);
SELECT ROUND(1123.26723,-1);
查詢結(jié)果:
- 1123.3
- 1123
- 1120
IF
MySQL的IF函數(shù)是一個流程控制函數(shù),可以根據(jù)條件的真假返回不同的值。
語法:
IF(condition, value_if_true, value_if_false)
其中:
- condition:要進行判斷的條件表達式或值。
- value_if_true:如果條件為真,將返回的值。
- value_if_false:如果條件為假,將返回的值。
示例:
- 這個查詢將返回一個結(jié)果集,包含name、age、gender和is_adult字段。如果age大于等于18,則is_adult字段的值為’成年’,否則為’未成年’。
SELECT name, age, gender, IF(age >= 18, '成年', '未成年') AS is_adult
FROM student;
CASE WHEN
CASE WHEN語句是一種條件表達式,用于在SQL查詢中根據(jù)不同的條件選擇不同的結(jié)果。
語法:
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
其中:
-
condition1、condition2等是條件表達式,可以是列與值之間的比較、邏輯運算符的組合等。
-
result1、result2等是在條件滿足時返回的結(jié)果,可以是常量、列名、表達式等。
-
ELSE子句是可選的,用于指定當(dāng)所有條件不滿足時返回的默認結(jié)果。
示例:
- 這個查詢會從名為"students"的表中選擇姓名(name)和年齡(age)列,并使用CASE WHEN語句根據(jù)不同的年齡段給每個人分組。如果年齡小于18歲,則分到"未成年"組;如果年齡在18到60歲之間,則分到"成年"組;否則分到"老年"組。然后,將每個人的分組結(jié)果作為新的列"age_group"返回。
SELECT name, age,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 60 THEN '成年'
ELSE '老年'
END AS age_group
FROM students;
DATE(date)
返回指定日期/時間表達式的日期部分或?qū)⑽谋巨D(zhuǎn)為日期格式
語法:
DATE(date)
示例:
select date('2022-4-15 12:30:48');
結(jié)果:2022-04-15
date_formate
date_format是一種用于格式化日期的函數(shù),可以將日期按照指定的格式進行顯示。
語法:
date_format('date', '格式');
在format字符串中可用標志符:
-
%M 月,名字(january……december)
-
%Y 年, 數(shù)字, 4 位
-
%y 年, 數(shù)字, 2 位
-
%a 縮寫的星期名字(sun……sat)
-
%d 月份中的天數(shù), 數(shù)字(00……31)
-
%e 月份中的天數(shù), 數(shù)字(0……31)
-
%m 月, 數(shù)字(01……12)
-
%c 月, 數(shù)字(1……12)
-
%b 縮寫的月份名字(jan……dec)
-
%j 一年中的天數(shù)(001……366)
-
%h 十二時制的小時(00……12)
-
%k 二十四時制的小時(0……23)
-
%i 分鐘, 數(shù)字(00……59)
-
%r 時間,12 小時(hh:mm:ss [ap]m)
-
%s 秒(00……59) %p am或pm
-
%w 一個星期中的天數(shù)(0=sunday ……6=saturday )
-
%u 一年中的周數(shù)(1……53)
示例:
select date_format('2022-4-15 13:30:28','%Y-%m-%d');
結(jié)果:2022-04-15文章來源地址http://www.zghlxwxcb.cn/news/detail-678648.html
到了這里,關(guān)于【數(shù)據(jù)庫】數(shù)據(jù)庫常用函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!