一、概述
什么是单行函数:
操作数据对象
接受参数返回一个结果
只对一行进行变换
每行返回一个结果
可以转换数据类型
可以嵌套
参数可以是一列或一个值
// 比如分组函数就是典型的多行函数
分类:
二、字符函数
大小写控制函数:
LOWER()——转化为小写
UPPER()——转化为大写
INITCAP()——首字母大写
SELECT LOWER(‘SQL Course‘),UPPER(‘SQL Course‘),INITCAP(‘SQL Course‘) FROM dual;
LOWER(‘SQLCOURSE‘) UPPER(‘SQLCOURSE‘) INITCAP(‘SQLCOURSE‘)
------------------ ------------------ --------------------
sql course SQL COURSE Sql Course
// dual是一张续表,并且再次提醒SQL大小写不敏感,lower()也是允许的
字符控制函数:
CONCAT(‘Hello‘, ‘World‘)——连接字符串
SUBSTR(‘HelloWorld‘,1,5)——取子串,从下标1开始,取5个(SQL下标从1开始而不是0)
LENGTH(‘HelloWorld‘)——得到长度
INSTR(‘HelloWorld‘, ‘W‘)——首次出现的位置
LPAD(salary,10,‘*‘)——左补齐
RPAD(salary, 10, ‘*‘)——右补齐
TRIM(‘H‘ FROM ‘HelloWorld‘)——去除首尾的指定字符
REPLACE(‘abcd’,’b’,’m’)——替换所有的字符,(将b替换为m)
SELECT CONCAT(‘HelloWorld‘,‘jiangbei‘),SUBSTR(‘HelloWorld‘,1,5),LENGTH(‘HelloWorld‘),INSTR(‘HelloWorld‘,‘W‘) FROM dual;
CONCAT(‘HELLOWORLD‘,‘JIANGBEI‘ SUBSTR(‘HELLOWORLD‘,1,5) LENGTH(‘HELLOWORLD‘) INSTR(‘HELLOWORLD‘,‘W‘)
------------------------------ ------------------------ -------------------- -----------------------
HelloWorldjiangbei Hello 10 6
SELECT LPAD(salary,10,‘*‘) FROM employees;
LPAD(SALARY,10,‘*‘)
--------------------
*****24000
*****17000
*****17000
******9000
******6000
SELECT TRIM(‘H‘ FROM ‘H2H2H‘),REPLACE(‘H2H2H2‘,‘H‘,‘M‘) FROM dual;
TRIM(‘H‘FROM‘H2H2H‘) REPLACE(‘H2H2H2‘,‘H‘,‘M‘)
-------------------- -------------------------
2H2 M2M2M2
三、数字函数
ROUND(45.926,2)——四舍五入
TRUNC(45.926,2)——截断
MOD(100,3)——求余
SELECT ROUND(45.926,2),TRUNC(45.926,2),MOD(100,3) FROM dual;
ROUND(45.926,2) TRUNC(45.926,2) MOD(100,3)
--------------- --------------- ----------
45.93 45.92 1