–字符函数
SELECT ASCII(‘a’) “a”,ASCII(‘A’) “A” FROM dual;–ASCII(char):该函数用于返回字符串首字符的ASCII码值
DECLARE
v_chr VARCHAR(2);
BEGIN
v_chr:=CHR(56);
dbms_output.put_line(‘ASCII码为56的字符:’||v_chr);
END;–CHR(n):该函数用于将ASCII码转变为字符
SELECT CONCAT(‘Good’,‘Moring’) FROM dual;–CONCAT:该函数用于连接字符串,作用与连接操作符’||'完全相同
DECLARE
v_initcap VARCHAR2(10);
BEGIN
v_initcap:=INITCAP(‘my word’);
dbms_output.put_line(‘首字符大写:’||v_initcap);
END;–INITCAP(char):该函数用于将字符串中每个单词的首字符大写,其它字符小写,单词之间用空格和非字母字符分隔
/INSTR(char1,char2[,n[,m]]):该函数用于取得子串在字符串中的位置,其中数字n为起始搜索位置,m为子串出现次数。
若数字n为负数则从尾部开始搜索,数字m必须为正整数,且n和m的默认值为1/
SELECT INSTR(‘morning’,‘n’) FROM dual;
DECLARE
v_len INT;
BEGIN
v_len:=LENGTH(‘my word’);
dbms_output.put_line(‘字符串长度:’||v_len);
END;–LENGTH(char):该函数用于返回将字符串的长度(若字符串类型为char则起长度包含所有的后缀空格)
SELECT LOWER(‘SQL introduction’) FROM dual;–LOWER(char):该函数用于将字符串转换为小写格式
/LPAD(char1,n,char2):该函数用于在字符串char1的左端填充字符串char2直至字符串总长度为n,char2默认值为空格。
若char1长度大于n,则该函数返回char1左端的n个字符/
DECLARE
v_lpad VARCHAR2(10);
BEGIN
v_lpad:=LPAD(‘aaaa’,10,’’);
dbms_output.put_line('在字符串左端添加字符:’||v_lpad);
END;
DECLARE
v_RPAD VARCHAR2(10);
BEGIN
v_rpad:=RPAD(‘aaaa’,10,’*’);
dbms_output.put_line(‘在右端添加字符:’||v_rpad);
END;
/LTRIM(char1[,set]):该函数用于去掉字符串char1左端所包含的set中的任何字符。Oracle从左端第一个字符开始扫描,
逐一去掉在set中出现的字符,当遇到不是set中的字符时终止,然后返回剩余结果/
SELECT LTRIM(‘morning’,‘m’),LTRIM(‘morning’,‘or’) FROM dual;
DECLARE
v_nls_initcap NCHAR(10);
BEGIN
v_nls_initcap:=nls_initcap(n’my word’);
dbms_output.put_line(‘首字符大写*:’||v_nls_initcap);
END;–NLS_INITCAP(char,'nls_param):该函数用于将字符串char的首字符大写,其他字符小写
SELECT nls_lower(n’SQL’) FROM dual;–NLS_LOWER(char,'nls_param):该函数用于将字符串转变为小写
DECLARE
v_upper VARCHAR2(10);
BEGIN
v_upper:=nls_upper(‘my word’,‘nls_sort=XGERMAN’);
dbms_output.put_line(‘字符串大写:’||v_upper);
END;–NLS_UPPER(char,'nls_param):该函数用于将字符串转变为大写
/SUBSTR(char,m[,n]):该函数用于取得字符串的子串,数字m是字符开始位置,数字n是子串的长度。
若m为0则从首字符开始,若m为负数则从尾部开始/
DECLARE
v_subs VARCHAR2(10);
BEGIN
v_subs:=SUBSTR(‘morning’,1,3);
dbms_output.put_line(‘字符串的子串:’||v_subs);
END;
/TRIM(charFROM string):该函数用于从字符串的头部、尾部或两端截断特定字符,
参数char为要截去的字符,string是源的符串/
DECLARE
v_source VARCHAR2(20):=‘ABCDGHJHJAB’;
v_trim VARCHAR2(20);
BEGIN
v_trim:=TRIM(‘A’ FROM v_source);
dbms_output.put_line(v_trim);
END;