Oracle 函数(字符、数值)

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;

 6cedf9594f4e4fc689eae51bda17bac3.png 

b2003cfdf02646b485c65eab76be3f0d.png

 b7c088a6a8d3412295ae9d046f9f5c71.png

 

select upper(name) from teacher;--大写
select lower(UPPER(name)) from teacher;--小写
select initcap(name) from teacher;--首字母大写

 0c8cdf1b88fb49148e4cd15ffde18fff.png

 3aa2981bfd1640af815f0bdfe6be1235.png

 ae39d7e300c5449f88d68508f8b6b43e.png

 

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起始位置,正向截取

 d8966320a496452cb9da3637772fb86d.png

 32743289b1df491197fafe17495df6e8.png

 2f5bcf8b692144cf8330d07be41b39d1.png

 

--查找 指定的字符串在原字符串中出现的位置。并返回,如果没有找到返回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;--字符串拼接

 8bbb474adf6e43399a877712a89e8a0e.png

 5dc084310ad74d81b30a80391a19ae29.png

 9a971aa2fd4047c2b9d59decd1cf8f80.png

 2808b343a0b84ba9bb0af94414c98894.png

9267010a349642839b5efc3ef7be5b07.png

--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 .表示匹配任何单个字符

 9643d150019b44eeb94d822079f6980e.png

 10258d1b9bcd4002a4c7f9551d455b4f.png

 

 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

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值