sql自学笔记(三)常见函数
select 函数名(实参列表) from 表
- concat拼接
将姓变大写,名变小写,然后拼接>
select concat(upper(last_name),lower(first_name)) 姓名 from employees
- substr/substring 截取子串
select substr('我爱上你',2)
- 截取从指定索引处后面所有字符,sql索引从1开始
select substr('我爱上你',1,2)
- 2为长度,截取从指定索引处指定字符长度的字符
- substring(starting,stop),两个参数是起止位置,包含起,和止,substr(strat,length)第一个参数是起始位置,第二个参数是截取字符串长度,若只有一个参数,两者作用是一样的,就是截取字符串当前下标以后直到字符串最后的字符串片段
- instr 返回子串第一次出现的索引
select instr('杨不悔爱上了殷六侠','殷六侠') as out_put
- 找不到返回0
- trim去前后指定的空格和字符
select trim(' rrn ') as out_put
二、数学函数
- round 四舍五入
select round(1.65)
select round(1.567,2)
- ceil 向上取整,返回大于等于该参数的最小整数
select ceil(1.01)
select ceil(-1.01) 结果为-1,大于等于
-
floor 向下取整,返回小于等于该参数的最大整数
-
truncate 截断
select truncate(1.6999,1)
- mod 取余
select mod(-10,-3)
三、日期函数
- now 返回当前系统日期加时间
select now()
- curdate 返回当前系统日期,不包含时间
select curdate()
-
curtime返回时间,不返回日期
-
str_to_date 将日期格式的字符转换成指定格式的日期
select str_to_date('9-13-1999','%m-%d-%y)
四、流程控制函数
-
if 函数
select if(10>5,'大','小') -
case 函数
`case 要判断的字段或表达式when 常量1 then 要显示的值1
when 常量2 then 要显示的值
else 要显示的值n`
select salary,case
when salary>20000 then 'A'
when salary>15000 then 'B'
when salary>10000 then 'C'
else 'D'
end as 工资级别