- 向左补全字符串
lpad(字段名,填充长度,填充的字符)
select lpad('',4,'') from dual;
- 向右补全字符串
rpad(字段名,填充长度,填充的字符)
select rpad('',4,'') from dual;
- 返回字符串小写
select lower('STUDENT') from dual;
- 返回字符串大写
select upper('admin') from dual;
- 单词首字符大写
select initcap('admin') from dual;
- 返回字符串长度
select length('中国') from dual;
- 截取字符串
substr(字符串,截取开始位置,截取长度)
select substr('',2,3) from dual;
- 获得字符串出现的位置
instr(源字符串, 目标字符串,[ 起始位置, ][匹配序号])
select instr('','') from dual;
- 删除字符串左侧空格
select ltrim('') from dual;
- 删除字符串右侧空格以及两侧空格
rtrim()函数和trim()函数。
- 串联字符串
SELECT CONCAT('hello', ' world') AS TEXT FROM DUAL;
- 翻译字符串
translate(string,from_str,to_str)
SELECT TRANSLATE('abcdefghij','abcdef','') FROM dual;
- 反转字符串
当为汉字时候,会出现乱码,因为中文是双字节字符。
- 在列的右边粘贴字符
SELECT RPAD('HELLO', 10, '*') FROM DUAL;
- 替换字符串
REPLACE('string','被替换','替换')
SELECT REPLACE('HE LOVE YOU', 'HE' ,'I') FROM DUAL;
- 如果X是空值,返回VALUE,否则返回X
NVL(X, VALUE)
SELECT NVL(NULL, '') FROM DUAL;
SELECT NVL('', '') FROM DUAL;
- 如果X是空值,返回VALUE1, 否则返回VALUE2
NVL2(X, VALUE1, VALUE2)
SELECT NVL2(NULL, '', '') FROM DUAL;
oracle中处理字符串的函数还有许多,我就不一一列举了。