Oracle中的字符处理方法

  • 向左补全字符串

lpad(字段名,填充长度,填充的字符)

select lpad('1',4,'0') from dual;

image

  • 向右补全字符串

rpad(字段名,填充长度,填充的字符)

select rpad('1',4,'0') from dual;

image

  • 返回字符串小写
select lower('STUDENT') from dual;

image

  • 返回字符串大写
select upper('admin') from dual;
  • 单词首字符大写
select initcap('admin') from dual;

image

  • 返回字符串长度
select length('中国') from dual;

image

  • 截取字符串

substr(字符串,截取开始位置,截取长度)

select substr('123456789',2,3) from dual;

image

  • 获得字符串出现的位置

instr(源字符串, 目标字符串,[ 起始位置, ][匹配序号])

select instr('12345678','56') from dual;

image

  • 删除字符串左侧空格
select ltrim('    00000') from dual;

image

  • 删除字符串右侧空格以及两侧空格

rtrim()函数和trim()函数。

  • 串联字符串
SELECT CONCAT('hello', ' world') AS TEXT FROM DUAL;

image

  • 翻译字符串

translate(string,from_str,to_str)

SELECT TRANSLATE('abcdefghij','abcdef','123456') FROM dual;

image

  • 反转字符串

image

当为汉字时候,会出现乱码,因为中文是双字节字符。

  • 在列的右边粘贴字符
SELECT RPAD('HELLO', 10, '*') FROM DUAL;

image

  • 替换字符串

REPLACE('string','被替换','替换')

SELECT REPLACE('HE LOVE YOU', 'HE' ,'I') FROM DUAL;

image

  • 如果X是空值,返回VALUE,否则返回X

NVL(X, VALUE)

SELECT NVL(NULL, '2') FROM DUAL;

SELECT NVL('33', '2') FROM DUAL;

image

  • 如果X是空值,返回VALUE1, 否则返回VALUE2

NVL2(X, VALUE1, VALUE2)

SELECT NVL2(NULL, '3', '4') FROM DUAL;

image

oracle中处理字符串的函数还有许多,我就不一一列举了。

 

 

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3643754.html

你可能感兴趣的:(oracle)