SQL函数即数据库的内置函数,可以运用在SQL语句中实现特定的功能。SQL单行函数对于每一行数据进行计算后得到一行输出结果。SQL单行函数根据数据类型分为字符函数、数字函数、日期函数、转换函数,另外还有一些别的函数。例如NVL函数
字符函数
--lower():将字符串大写变成小写; upper():将字符串小写变成大写 ;initcap():字符串的首字母大写
SELECT UPPER('hello') FROM DUAL;
1.查询姓名为king的雇员信息
SELECT * FROM EMP WHERE ENAME=UPPER('King');
SELECT INITCAP('hello world') FROM DUAL;
2.要求以首字母大写的形式显示所有雇员的姓名
SELECT INITCAP(ENAME) 雇员姓名 FROM EMP;
--concat(str1,str2)字符串拼接
SELECT CONCAT('hello','world') FROM DUAL;
3.连接雇员的姓名和工作
SELECT CONCAT(ENAME,JOB) FROM EMP;
SELECT ENAME ||JOB FROM EMP;
--substr(str,start_position,[length])字符串截取,索引可以从0开始也可以从1开始.
取得字符串中指定起始位置和长度的字符串。
SELECT SUBSTR('hello world',0,3) FROM DUAL;
--length(str) 字符串长度
SELECT LENGTH('HELLO WORLD') FROM DUAL;
查询雇员姓名正好是5个字符长度的雇员的姓名和姓名长度
SELECT ENAME,LENGTH(ENAME) FROM EMP WHERE LENGTH(ENAME)=5;
--replace(str1,str2,str3)字符串替换,用str3替换str1中的str2
SELECT REPLACE ('hello world','l','xx') FROM DUAL;
--instr(str1,str2)查询字符串str2在字符串str1中出现的位置
SELECT INSTR('hello world','wo') FROM DUAL;
--rpad(str1,int,str2)在str1的右边追加str2,追加后返回的长度为int
SELECT RPAD ('hello',10,'x') FROM DUAL;
--lpad(str1,int,str2)在str1的前边追加str2,追加后返回的长度为int
SELECT LPAD('hello',10,'x') FROM DUAL;
数值函数
--round(number,int) 四舍五入,int为指定的位数,按此位数进行四舍五入。
--如果 int大于 0,则四舍五入到指定的小数位,如果 int等于 0,则四舍
--五入到最接近的整数,如果int小于 0,则在小数点左侧进行四舍五入。
SELECT ROUND(250.73) FROM DUAL;
SELECT ROUND(250.738,2) FROM DUAL;
--trunc(number,int)截断,不进行四舍五入
SELECT TRUNC(250.73) FROM DUAL;
SELECT TRUNC(250.738,2) FROM DUAL;
--mod(number,number) 求模,取余