聚合函數
聚合函數可以對多行數據進行統計。聚合函數使用需要注意以下點:
- WHERE 關鍵字后不能跟聚合函數,因為WHERE 關鍵字執行順序大于聚合函數。
- HAVING 關鍵字后可以使用聚合函數,用于過濾不符合條件的數據。
SUM(字段名)
描述:
對數值求和。
實例:
SELECT SUM(goods_id) FROM goods;
AVG(字段名)
描述:
對數值求平均值。
實例:
SELECT AVG(goods_id) FROM goods;
MAX(字段名)
描述:
對數值求最大值。
實例:
SELECT MAX(goods_id) FROM goods;
MIN(字段名)
描述:
對數值求最小值。
實例:
SELECT MIN(goods_id) FROM goods;
COUNT(字段名)
描述:
統計數量。
實例:
SELECT COUNT(goods_id) FROM goods;
日期相關函數
NOW()
描述:
獲取當前日期與時間。
實例:
SELECT NOW();
CURDATE()
描述:
獲取當前的日期。
實例:
SELECT CURDATE();
CURTIME()
描述:
獲取當前的時間。
實例:
SELECT CURTIME();
DATE(日期)
描述:
在年月日時分秒中提取年月日。
實例:
SELECT DATE(NOW());
TIME(日期)
描述:
在年月日時分秒中提取時分秒。
實例:
SELECT TIME(NOW());
EXTRACT(日期中要提取的時間單位)
描述:
提取指定的時間單位。YEAR 代表年、MONTH 代表月、DAY 代表日、HOUR 代表小時、MINUTE 代表分鐘、SECOND 代表秒。
實例:
DATE_FORMAT(日期,時間格式)
描述:
日期格式化函數。%Y 代表四位年、%y 代表兩位年、%m 代表兩位月(格式為01……12)、%c 代表一位月(格式為1……12)、%d 代表日、%H 代表小時(24小時制)、%h代表小時(12小時制)、%i 代表分鐘、%s 代表秒。
實例:
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日%H時%i分%s秒');
字符串函數
CONCAT(字符串或字段名,'拼接的內容')
描述:
對字符串進行拼接。
實例:
SELECT CONCAT(goods_name,'拼接的字符串') FROM goods;
CHAR_LENGTH(字符串或字段名)
描述:
獲取字符串長度。
實例:
INSTR(字符串或字段名,'被查詢的字符串')
描述:
獲取字符串在另一字符串中出現的位置。
實例:
SELECT goods_name,INSTR(goods_name,'利') FROM goods;
INSERT(字符串或字段名,插入位置,替換長度,'插入內容')
描述:
插入字符串,插入位置從1開始。
實例:
SELECT goods_name,INSERT(goods_name,3,0,'純') FROM goods WHERE goods_id = 1;
UPPER(字符串或字段名);
描述:
字符串轉換為大寫。
實例:
SELECT UPPER('yyyy');
LOWER(字符串或字段名)
描述:
字符串轉換為小寫。
實例:
SELECT LOWER('YYYY');
LEFT(字符串或字段名,截取長度)
描述:
從字符串左側開始截取指定長度的字符串。
實例:
SELECT goods_name,LEFT(goods_name,2) FROM goods;
RIGHT(字符串或字段名,截取長度)
描述:
從字符串右側開始截取指定長度的字符串。
實例:
SELECT RIGHT('右側開始截取',3);
TRIM(字符串或字段名)
描述:
去除字符串兩端空格。
實例:
SELECT TRIM(' 兩端有空 格的字符串 ')
SUBSTRING(字符串或字段名,截取開始位置,截取長度)
描述:
在指定位置開始,截取指定長度的字符串。若無第三參數則截取到末尾。
實例:
SELECT goods_name,SUBSTRING(goods_name,1,1) FROM goods;
REPEAT(字符串或字段名,重復次數);
描述:
重復指定的字符串。
實例:
SELECT REPEAT('重復字符串',3);
REPLACE(字符串或字段名,'被替換內容','替換內容')
描述:
替換字符串中指定的內容。
實例:
SELECT goods_name,REPLACE(goods_name,'伊利','完達山')FROM goods WHERE goods_id = 1;
REVERSE(字符串或字段名)
描述:
將字符串內容反轉。
實例:
SELECT goods_name,REVERSE(goods_name)FROM goods WHERE goods_id = 1;
數學相關函數
FLOOR(數值或字段名)
描述:
對數值向下取整。
實例:
SELECT FLOOR(3.89);
ROUND(數值或字段名)
描述:
對數值四舍五入取整。
實例:
SELECT ROUND(23.66);
TRUNCATE(數值或字段名,要保留的小數位數)
描述:
保留指定的小數位,不做四舍五入,多余的小數位直接舍去,不足則進行補0。
實例:
SELECT TRUNCATE(23.896,2);
RAND()
描述:
返回 0 <= V <1.0 之間的雙精度浮點數。
實例:返回8 到 10 之間的隨機數