1. 程式人生 > >一些主要常見的mysql資料庫聚合函式、函式

一些主要常見的mysql資料庫聚合函式、函式

前面因為對資料庫函式不熟悉,mysql group by,對不是分組條件的會預設返回第一個,然而infox不是,我就懵逼了..所以還是要掌握基礎知識。
主要是自用:
參考了一些人的部落格:
http://www.cnblogs.com/tongxuping/p/7436090.html
等..
不是不標註,而是找不到了

mysql資料庫的一些常用函式

常用函式 聚合函式
函式名 作用
AVG() 返回某欄位的平均值
COUNT() 返回某欄位的行數
MAX() 返回某欄位的最大值
MIN() 返回某欄位的最小值
SUM() 返回欄位的和

用法:SELECT AVG(欄位名) FROM 表名;

  SELECT COUNT(欄位名) FROM 表名;

  SELECT MAX(欄位名) FROM 表名; 

  SELECT MIN(欄位名) FROM 表名;

  SELECT SUM(欄位名) FROM 表名;

數學函式

函式名 作用 舉例 結果
ceil(x) 返回大於或等於數值x的最小整數 SELECT CEIL(2.3); 返回:3
floor(x) 返回小於或等於數值x的最大整數 SELECT FLOOR(2.3); 返回;2
round(X) 四捨五入運演算法則 SELECT ROUND(-10.53) 返回:-11
rand() 返回0-1之間的隨機數 SELECT RAND(); 返回:0.8652411800485488
truncate(x,d) 保留小數點後d位,直接擷取。 SELECT TRUNCATE(10.05727,2) 結果:10.05
round(x,d) 保留小數點後d位,四捨五入 SELECT ROUND(10.05727,2) 結果:10.06
sign(x) 返回x的符號 SELECT SIGN(-10.53) 結果:-1

字串函式

函式名 作用 舉例 返回結果
concat(str1,str2…) 字串連線 SELECT CONCAT(‘my’,’s’,ql’); 返回:mysql
insert(str,pos,len,newstr) 字串替換 SELECT INSERT(‘這是SQL Server資料庫’,3,10,’MySQL’); 返回:這是MySQL資料庫
lower(str) 將字串轉為小寫 SELECT LOWER(MySQL); 返回:mysql
upper(str) 將字串轉為大寫 SELECT UPPER(MySQL); 返回:MYSQL
substring(str,num,len) 字串擷取 SELECT SUBSTRING(‘JavaMySQLOracle’,5,5); 返回:MySQL
substr(str FROM pos FOR len) 字串擷取 SELECT SUBSTR(“JavaMySQLOracle” FROM 5 FOR 5); 返回:MySQL

時間日期函式

函式名 作用 舉例 結果
curdate() 獲取當前日期 SELECT CURDATE(); 返回:2018-08-03
curtime() 獲取當前時間 SELECT CURTIME(); 返回:10:38:49
now() 獲取當前日期和時間 SELECT NOW(); 返回:2018-08-03 10:38:49
week(date) 返回日期date為一年 SELECT WEEK(NOW()); 返回:30
year(date) 返回日期date的年份 SELECT YEAR(NOW()); 返回:2018
hour(time) 返回時間time的小時 SELECT HOUR(NOW()); 返回:10
minute(time) 返回時間time的分鐘 SELECT MINUTE(NOW()); 返回:38
datediff(expr1,expr2) 返回日期引數date1和 SELECT DATEDIFF(CURDATE(),”2089-10-09”); 返回:-26000
adddate(date,n) 結算引數date加上n 天后的日期 SELECT ADDDATE(NOW(),100); 返回:2018-11-11 10:56:33