Oracle字符函数

103 阅读1分钟

一、字符函数

select substr('abcdefg',1,5)substr,		  --字符串截取
       instr('abcdefg','bc') instr,		  --查找子串
       replace('wish1','1','youhappy') replace,     --替换
       'Hello'||'World' concat,			  --连接
       concat('11','22') concat,		          --连接
       trim('  wish  ') trim,                       --去前后空格
       rtrim('wish  ') rtrim,                       --去后面空格
       ltrim('  wish') ltrim,                       --去前面空格
       trim(leading 'w' from 'wish') deleteprefix,  --去前缀
       trim(trailing 'h' from 'wish') deletetrailing,--去后缀
       trim('w' from 'wish') trim1,
       ascii('A') A1, 
       ascii('a') A2,                                --ascii(转换为对应的十进制数)
       chr(65) C1, 
       chr(97) C2,                                   --chr(十进制转对应字符)
       length('abcdefg') len,                        --length 
       lower('WISH')lower, 
       upper('wish')upper, 
       initcap('wish')initcap,                        --大小写变换
       translate('wish1','1','y')translate,           --转换,对应一位(前面的位数大于等于后面的位数)
       translate('wish1','sh1','hy')translate1 
from dual;

二、转换函数to_char()

----FM :除空格.9999999.0099:允许小数点左边最大正数为7位,小数点右边最少2位,最多4位,且在第5位进行四舍五入

select to_char(0.02345,'FM9999999.0099') from dual;--0.0235
select to_char(0.453,'FM990.0') from dual;--0.5

三、转换函数to_number()

--to_number(expr)
--to_number(expr,format)
--to_number(expr,format,'nls-param')

select to_number('0123') number1,       --把字符串转换为数字
       trunc(to_number('0123.123'),2) number2,
       to_number('120.11','999.99') number3,
     to_number('0a','xx') number4,     --将十六进制数字转换为十进制
       to_number(100000,'xxxxxx') number5
from dual;