一些主要常見的mysql資料庫聚合函式、函式
阿新 • • 發佈:2019-02-05
前面因為對資料庫函式不熟悉,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 |