常见函数
说明:sql中的函数分为单行函数和分组函数
调用语法:select 函数名(实参列表);
1》》字符函数
concat(str1,str2,…):拼接字符
substr(str,pos):截取从pos开始的所有字符,起始索引从1开始
substr(str,pos,len):截取len个从pos开始的所有字符,起始索引从1开始
length(str):获取字节个数
char_length(str):获取字符个数
upper(str):变大写
lower(str):变小写
strcmp(str1,str2):比较两个字符的大小
trim(【substr from】 str):去前后指定字符,默认是空格
left(str,len):从左边截取指定len个数的字符
right(str,len):从左边截取指定len个数的字符
lpad(str,substr,len):左填充
rpad(str,substr,len):右填充
instr(str,substr):获取substr在str中第一次出现的索引
2》》数学函数
ceil(x):向上取整
floor(x):向下取整
round(x,d):四舍五入(保留d位小数)
SELECT ROUND(4.455,2);
mod(x,y):取模/取余
truncate(x,d):截断,保留小数点后d位
abs(x):取绝对值
3》》 日期函数
NOW();获取当前日期-----时间
CURTIME();只有时间
CURDATE();只有日期
data_format(DATE,格式);格式日期为字符
STR_TO_DATE(str,格式):将字符转换成日期
DATEDIFF(date1,date2):获取两个日期之间的天数差
year(date)
month(date)
…
4》》 流程控制函数
if(条件,表达式1,表达式2):如果条件成立,返回表达式1否则返回表达式2
CASE 表达式
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
…
ELSE 结果n
END
分组函数
SUM 求和
AVG 平均数
MAX 最大
MIN 最小
COUNT 个数
特点:
1》实参的字段类型,sum和avg只支持数值型,其他三个可以支持任意类型
2》这五个函数都忽略null值
3》count可以支持以下参数
count(字段):查询该字段非空值的个数
count(*):查询结果集的行数
count(1):查询结果集的行数
4》分组函数可以和distinct搭配使用,实现去重的统计
SELECT count(distinct 字段) FROM 表;