1. 字符函数
函数 | 操作 |
LPAD | 使用指定的字符在字符的左边填充 |
RPAD | 使用指定的字符在字符的右边填充 |
UPPER | 字符全变大写 |
LOWER | 字符全变小写 |
INITCAP | 字符串首字母大写 |
LENGTH | 以字符返回字符串长度 |
LENGTHB | 以字节数返回字符串长度 |
SUBSTR | 截取字符串 |
SUBSTRB | 以字节截取字符串 |
INSTR | 查找字符串或字符的位置 |
REVERSE | 反转字符串 |
CONCAT | 拼接两个字符串 |
TRIM | 去掉字符串的首位的空格,中间部分不管 |
LTRIM | 去掉字符串左边的空格 |
RTRIM | 去掉字符串右边的空格 |
REPLACE | 替换字符串或字符 |
REGEXP_REPLACE | 使用正则表达式实现多功能替换 |
TRANSLATE | 搜索字符串和替换 |
--lpad将数字补齐六位,空位用0补齐,也可用字符串补齐
select lpad(id,6,'0') from teacher;
select lpad(name,6,'-') from teacher;
select rpad(name,6,'=') from teacher;
select upper(name) from teacher;--大写
select lower(UPPER(name)) from teacher;--小写
select initcap(name) from teacher;--首字母大写
select id,length(id),name,length(name) from teacher;--求字符串长度
select id,pwd,name,substr(name,1,3) from teacher;
select id,pwd,name,substr(name,-2,3) from teacher;--字符串截取,1,2,3对应-3,-2,-1起始位置,正向截取
--查找 指定的字符串在原字符串中出现的位置。并返回,如果没有找到返回0,否则返回位置下标
select name,instr(name,'a') from teacher;--查找第一个‘a’出现的位置
select name,instr2(name,'a',3) from teacher;--从第三个字符开始查找
select name,reverse(name) from teacher;--字符串反转
select name,concat('hello:',name) from teacher;--字符串拼接
--replace(name,‘a’,‘x’)将name中的‘a’替换为‘x’
select name from teacher;
select name,replace(name,'a','x') from teacher;
select name,regexp_replace(name,'a.g','x') from teacher;--正则表达式a.g .表示匹配任何单个字符
2. 数值函数
函数 | 操作 |
ROUND(value1,value2) | 将value1四舍五入保留value2指定的几位小数 |
CEIL(value) | 向上取整 |
FLOOR(value) | 向下取整 |
MOD(value1/value2) | value1取模value2 |
ABS(value) | 取绝对值 |
SIGN(value) | 判断正负 |
SQRT(value) | value开根号 |
POWER(value1,value2) | 求value1的value2次方 |
TRUNC(value) | 保留小数的后几位,不四舍五入 |
TO_CHAR(value) | 将数字转换成字符串 |
COS(value) | 余弦 |
COSH(value) | 反余弦 |
SIN(value) | 正弦 |
SINH(value) | 反正弦 |
TAN(value) | 正切 |
TANH(value) | 反正切 |
EXP(value) | e的vale次幂 |
LN(value) | value的以e为底的对数 |
LOG(value) | value的以10为底的对数 |
VSIZE(value) | 返回value在oracle的存储空间大小 |
---数值---
--round()保留几位小数
select round(123.455,2) from dual;--123.46
--ceil()向上取整
select ceil(123.21) from dual;--124
--floor()向下取整
select floor(123.221) from dual;--123
--mod()求模
select mod(32,3) from dual;--32%3=2
--abs()取绝对值
select abs(-126) from dual;--126
--判断正负,1,表示正,-1,表示负,0就是0
select sign(22) from dual;--1
select sign(-18) from dual;-- -1
--sqrt()开根号
select sqrt(4) from dual;--2
--power(m,n) m的n三次方
select power(2,3) from dual;--8
--trunc(m,n) 保留小数后几位,不四舍五入
select trunc(1234.5678,3) from dual;--1234.567
--to_char() 将数字转换为字符串
select to_char(123.45,'000.00') from dual;--123.45
select to_char(123.45,'0000.000') from dual;-- 0123.450
select to_char(123456789.98,'L000,000,000.00') from dual;--¥123,456,789.98
select to_char(123456789.98,'$000,000,000.00') from dual;--$123,456,789.98