Oracle基础 (十一)字符串函数

一、字符串函数

LENGTH(char1,char2)

SELECT LENGTH('abc def gh') FROM dual;  --获取字符串的长度,包含空格
结果:10

CONCAT(char1,char2)

SELECT CONCAT('abc','def') FROM dual;  --连接两个字符串
结果:'abcdef'
SELECT 'abc'||'def' FROM dual;          --连接两个字符串
结果:'abcdef'

INITCAP(CHAR):  

SELECT INITCAP('hello') FROM dual;      --首字母转换为大写
结果:Hello

LOWER(CHAR):

SELECT LOWER('HELLO WORLD') FROM dual;  --将字符串转换为小写
结果:hello world

UPPER(CHAR):

SELECT UPPER('hello world') FROM dual;  --将字符串转换为大写
结果:HELLO WORLD

LTRIM(char,set):

SELECT LTRIM('  hello world  ') FROM dual;  --去掉字符串左侧的空格
结果:'hello world   '

RTRIM(char,set):

SELECT RTRIM('  hello world  ') FROM dual;  --去掉字符串右侧的空格
结果:'  hello world'

TRANSLATE(char,from,to):

SELECT Translate('abcdefabcdef','abc','123') FROM dual;  --如果替换字符连续则将abc替换为123

结果:'123def123def'

SELECT Translate('abcdefabcdef','ace','123') FROM dual;  --如果字符不连续则按字母进行替换

结果:'1b2d3f1b2d3f'

REPLACE(char,search_str,replace_str)  

SELECT REPLACE('abcdefabcdef','abc','123') FROM dual;  --将字符串abc替换为123
结果:123def123def

INSTR(char,substr[,pos])

SELECT Instr('abcdefabcdef','def') from dual;  --查找def在字符串中的位置,从1开始
结果:4
SELECT Instr('abcdefabcdef','def',5) from dual; --从指定位置开始查找def在字符串中的位置,从1开始 结果为:10 select instr('abcedfghedfghijk','edf',1,2) from dual;--查找edf在字符串中出现第二次的位置,从1开始 结果为:9

SUBSTR(char,pos,len)

SELECT Substr('abcdefgh',3) FROM dual;  --从第3位开始截取字符串,到末尾
结果:'cdefgh'
SELECT Substr('abcdefgh',3,2) FROM dual;  --从第3位开始截取2个字符串
结果:'cd'
原文地址:https://www.cnblogs.com/zhengcheng/p/4186472.html