字符函数接受字符参数,这些参数可以是表中的列,也可以是一个字符串表达式

    函数 说明
    ASCII(x) 返回字符x的ASCII码。
    CONCAT(x,y) 连接字符串x和y。
    REPLACE (x,old,new) 在x中查找old,并替换为new。
    TRANSLATE ( char, from, to ) 映射替换。
    image.png
    LENGTH(x) 返回x的长度。 LENGTH(‘简自豪’) -> 3
    LENGTHB(x) 返回x的字节长度。 LENGTHB(‘简自豪’) -> 6
    LOWER(x) x转换为小写。
    UPPER(x) x转换为大写。
    INITCAP (‘X’) 首字母大写,其他小写。
    LTRIM(x[,trim_str]) 把x的左边截去trim_str字符串,缺省截去空格。
    RTRIM(x[,trim_str]) 把x的右边截去trim_str字符串,缺省截去空格。
    TRIM([trim_str FROM] x) 把x的两边截去trim_str字符串,缺省截去空格。
    INSTR ( x, str [,start] [,n] ) 返回查找str的位置,在x中查找str,第n次出现。
    (可以指定从start开始)
    SUBSTR ( x, start [,length] ) 返回x的字串,从start处开始,截取length个字符。
    (如果缺省length,默认到结尾)

    【例】查询员工姓名以’S’结尾的员工信息

    1. --方法1
    2. SELECT * FROM EMP E WHERE INSTR(E.ENAME,'S',-1,1)=LENGTH(E.ENAME);
    3. --方法2
    4. SELECT * FROM EMP E WHERE RTRIM(E.ENAME,'S')<>E.ENAME;
    5. --方法3
    6. SELECT * FROM EMP E WHERE SUBSTR(E.ENAME,-1,1)='S;

    示例:

    示例 示例结果
    SELECT ASCII(‘a’) FROM DUAL 97
    SELECT CONCAT(‘Hello’, ‘ world’) FROM DUAL Hello world
    SELECT INSTR(‘Hello world’,’or’) FROM DUAL 8
    SELECT LENGTH(‘Hello’) FROM DUAL 5
    SELECT LOWER(‘hElLO’) FROM DUAL; hello
    SELECT UPPER(‘hello’) FROM DUAL HELLO
    SELECT LTRIM(‘===HELLO===’, ‘=’) FROM DUAL HELLO===
    SELECT ‘==’||LTRIM(‘ HELLO===’) FROM DUAL ==HELLO===
    SELECT RTRIM(‘===HELLO===’, ‘=’) FROM DUAL ===HELLO
    SELECT ‘=’||TRIM(‘ HELLO ‘)||’=’ FROM DUAL =HELLO=
    SELECT TRIM(‘=’ FROM ‘===HELLO===’) FROM DUAL HELLO
    SELECT REPLACE(‘ABCDE’,’CD’,’AAA’) FROM DUAL ABAAAE
    SELECT SUBSTR(‘ABCDE’,-2) FROM DUAL DE
    SELECT SUBSTR(‘ABCDE’,2,3) FROM DUAL BCD