mysql常见函数
1.字符函数
length(显示长度)
concat(拼接字符串)
substr(获取指定长度)
instr(返回输入字段出现的第一次索引)
trim(去除字符串前后的空格或者指定的字符)
upper(大写)
lower(小写)
lpad(左填充)
rpad(右填充)
replace(替换指定字符)
2.数学函数
round(四舍五入)
ceil(向上取整)
floor(向下取整)
truncate(指点小数点的后几位)
mod(取余)
3.日期函数:
now()当前日期加时间
curdate() 当前日期
curtime() 当前时间
year 年
month 月
day 日
hour 小时
minute 分钟
second 秒
STR_TO_DATE 将字符串返回成时间
SELECT STR_TO_DATE('2012.03.23','%Y-%c-%d') as output
#DATE_FORMAT(date,format) 将日期转为字符串
SELECT DATE_FORMAT(NOW(),'%Ynian%myue%dri')
4.其他函数:
version 返回当前数据库版本
database 返回当前使用的数据库
user 返回点用户
5.控制函数
#IF if ELSE
SELECT IF(10>5,'大','小');
SELECT LAST_name,commission_pct,IF(commission_pct is not null,'有奖金','没奖金')
from employees
#2.case 函数的使用一:switch CASE 的效果
/*案例:查询员工工资:要求
部门号=30,工资为1.1倍
部门号=40,工资为1.2倍
部门号=50,工资为1.3倍
*/
SELECT salary 原始工资,department_id,
CASE department_id
when 30 THEN salary*1.1
when 40 THEN salary*1.2
when 50 THEN salary*1.3
ELSE salary
END as 新工资
from employees
#case 函数的使用二;类似多重if
#查询员工的新工资,如果工资大于两万,显示a级别,大于15000,显示b,大于10000,否则显示渣渣
SELECT LAST_name,salary as 院士工资,
CASE
WHEN salary>20000 THEN 'a级别'
WHEN salary>15000 THEN 'b级别'
when salary>10000 THEN 'c级别'
ELSE '渣渣'
END as 新工资
FROM employees