字符串函数
1.select ASCII(ename) , ename from emp ;#获取字符串首字母对应的ASCII码.
2.select ASCII(‘zhufangfang’);#单独获取字符串首字母对应的ASCII码.
3.select CHAR_LENGTH(ename) , ename from emp ;#获取字符串长度
4.select LOWER(ename),ename from emp ;#将字母转化为小写
5.select REVERSE(ename),ename from emp ;#将字符串进行
数字函数
select PI();#圆周率
select floor(5.3);#向下取整
select round(3.6);#四色五人取整
select truncate(2.7777777,4);#保留前4位小数
select max(sal) from emp;#获取字段sal中的最大值
日期函数
SELECT ADDDATE(“2017-06-15”, INTERVAL 10 day);
SELECT ADDDATE(“2017-06-15”,10);#计算指定日期加上10天后的日期.
select CURDATE();#查询当前日期,
select now();#查询当前日期,精确到秒 __
SELECT DAY(hiredate),MONTH(hiredate),hiredate from emp ;#获取日期的日和月
SELECT TIMESTAMPDIFF(year,hiredate,CURDATE()),hiredate from emp;#计算后面日期与前面日期的差值,不足一年按0年算(同理可求月,日,CURDATE()表示当前日期)
select hiredate,last_day(hiredate) from emp;#获取指定日期的最后一天的日期
高级函数
SELECT
CASE
WHEN 1 > 1 THEN
‘第一个’
WHEN 2 > 0 THEN
‘第二个’
ELSE
‘都为假’
END 输出条件为真的值;
#上述整体为一句代码
SELECT ename,
CASE
WHEN deptno = 10 THEN
‘此人在部门10’
WHEN deptno = 20 THEN
‘此人在部门20’
ELSE
‘此人在其他部门’
END 所在部门
from emp;
# -----------------------------<br />select coalesce(comm,'没有奖金') 奖金 from emp ;#comm不为空则输出数据,为空则输出'没有奖金'<br />
SELECT CURRENT_USER();#返回当前用户
SELECT IF(sal > 2000,’高工资’,’低工资’) 工资高低, sal from emp ;#满足条件获取’高工资’,不满足获取’低工资’
select LAST_INSERT_ID();# 获取最后生成的主键id