一、常用SQL语句
1、百分比计算
-- SQL中计算百分比
SELECT CONCAT(CAST(ROUND((3/21)*100,2) AS CHAR),'%') AS b;
二、SQL函数
1、数学函数
abs(x) 返回 x 的绝对值
rand() 返回 0 到 1 的随机数
mod(x,y) 返回 x 除以 y 以后的余数
power(x,y) 返回 x 的 y 次方
round(x) 返回离 x 最近的整数
round(x,y) 保留 x 的 y 位小数四舍五入后的值
sqrt(x) 返回 x 的平方根
truncate(x,y) 返回数字 x 截断为 y 位小数的值
ceil(x) 返回大于或等于 x 的最小整数
floor(x) 返回小于或等于 x 的最大整数
greatest(x1,x2…) 返回集合中最大的值
least(x1,x2…) 返回集合中最小的值
示例:
2、聚合函数
avg() 返回指定列的平均值
count() 返回指定列中非 NULL 值的个数
min() 返回指定列的最小值
max() 返回指定列的最大值
sum(x) 返回指定列的所有值之和
3、字符串函数
CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串
INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置
LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果
LEFT(str,x)返回字符串str中最左边的x个字符
LENGTH(s)返回字符串str中的字符数
LTRIM(str) 从字符串str中切掉开头的空格
POSITION(substr,str) 返回子串substr在字符串str中第一次出现的位置
QUOTE(str) 用反斜杠转义str中的单引号
REPEAT(str,srchstr,rplcstr)返回字符串str重复x次的结果
REVERSE(str) 返回颠倒字符串str的结果
RIGHT(str,x) 返回字符串str中最右边的x个字符
RTRIM(str) 返回字符串str尾部的空格
STRCMP(s1,s2)比较字符串s1和s2
TRIM(str)去除字符串首部和尾部的所有空格
UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写后的结果
4、日期时间函数
CURDATE()或CURRENT_DATE() 返回当前的日期
CURTIME()或CURRENT_TIME() 返回当前的时间
DATE_FORMAT(date,fmt) 依照指定的fmt格式格式化日期date值
NOW() 返回当前的日期和时间
5、控制流函数
// 如果testN是真,则返回resultN,否则返回default
CASE WHEN[test1] THEN [result1]…ELSE [default] END
// 如果test和valN相等,则返回resultN,否则返回default
CASE [test] WHEN[val1] THEN [result]…ELSE [default]END
// 如果test是真,返回t;否则返回f
IF(test,t,f)
// 如果arg1不是空,返回arg1,否则返回arg2
IFNULL(arg1,arg2)
// 如果arg1=arg2返回NULL;否则返回arg1
NULLIF(arg1,arg2)
5、格式化函数
// 依照字符串fmt格式化日期date值
DATE_FORMAT(date,fmt)