一、字符串函数
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\'