前面因为对数据库函数不熟悉,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 |