字符型
ASCII
CHR
LOWER
UPPER
INITCAP
CONCAT
SUBSTR
LENGTH
INSTR
TRIM
dump
lpad
rpad
REPLACE
ASCII("字符")
返回字符的ASCII码值
idle> select ASCII("a") from dual;
ASCII("A")
----------
97idle> select ASCII("A") from dual;ASCII("A")
----------
65idle> CHR("n")
返回n的字符值 n是ASCII码数
idle> select chr(65) from dual;C
-
Aidle> select chr(39) from dual;C
-
"idle> 但是求单引号的ASCII码写法很特殊 两个单引带表一个单引idle> select ASCII(""") from dual;
ERROR:
ORA-01756: quoted string not properly terminated
idle> select ASCII("""") from dual;ASCII("""")
-----------
39idle> LOWER(列名|表达式)
小写转换
idle> select lower("ABC") from dual;LOW
---
abcidle>
dual 为虚表,当一个语句不需要从表中获取数据时,但又要维持SQL语法,Oracle才提供了虚表来解决这个问题
UPPER(列名|表达式)
大写转换idle> select upper("abc") from dual;UPP
---
ABCidle> INITCAP(列名|表达式)
每个词的词头大写 其他小写idle> select initcap("abC dEf XYZ") from dual;INITCAP("AB
-----------
Abc Def Xyzidle> CONCAT(列名|表达式,列名|表达式)
将第一个字符串和第二个字符串连接idle> select concat("abc","xyz") from dual;CONCAT
------
abcxyz不太常用,因为我们可以用 || 连接
idle> select "abc"||"xyz" from dual;"ABC"|
------
abcxyzidle> SUBSTR(列名|表达式,m,[n])
返回指定子串,该子串是从第m个字符开始,其长度为n,不指定n值则从m到最后idle> select substr("abcdefxyz",4,3) from dual;SUB
---
defidle> select substr("abcdefxyz",4) from dual;SUBSTR
------
defxyzidle>
LENGTH(列名|表达式)
返回字符串的长度
idle> select length("abcdefxyz") from dual;LENGTH("ABCDEFXYZ")
-------------------
9idle> INSTR (列名|表达式,"字符串",[m],[n])
从表达式或列中搜索给定的字符串的所处位置,m代表从第几个开始搜,n代表第几次出现. m和n默认都是1idle> select INSTR("abcdddxyz","d") from dual;INSTR("ABCDDDXYZ","D")
----------------------
4idle>
idle> select INSTR("abcdddxyz","d",5) from dual;INSTR("ABCDDDXYZ","D",5)
------------------------
5idle> select INSTR("abcdddxyz","d",5,2) from dual;INSTR("ABCDDDXYZ","D",5,2)
--------------------------
6idle>
TRIM([leading|]trailing|both 要去掉的字符 FROM 源字符串)
从源字符串中去掉指定的字符 可以用leading tailing来修饰去掉的字符串是在开头或结尾,默认是两者都 默认截取的是空格idle> select trim("a" from "aaabcdeaaafxyzaaa") from dual;TRIM("A"FRO
-----------
bcdeaaafxyzidle> select trim(leading "a" from "aaabcdeaaafxyzaaa") from dual;TRIM(LEADING"A
--------------
bcdeaaafxyzaaaidle> select trim(trailing "a" from "aaabcdeaaafxyzaaa") from dual;TRIM(TRAILING"
--------------
aaabcdeaaafxyzidle>
左补齐lpad 右补齐rpad
将不足20个字符的位置用指定符号填充.
idle> select lpad(ename,20,"-") ,rpad(ename,20,"-") from emp where ename like "S%";LPAD(ENAME,20,"-") RPAD(ENAME,20,"-")
-------------------- --------------------
---------------SMITH SMITH---------------
---------------SCOTT SCOTT---------------
idle>
Oracle基础教程:单行函数简介Oracle基础教程:单行函数—正则表达式函数相关资讯 oracle数据库教程
- Oracle raw数据类型介绍 (01/29/2013 10:05:53)
- 监听器注册与ORA-12514 错误分析 (11/13/2012 14:30:08)
- Oracle SQL的cursor理解 (11/13/2012 14:16:17)
| - Oracle 如何强制刷新Buffer Cache (01/29/2013 10:02:46)
- dblink致Oracle库的SCN变成两库的 (11/13/2012 14:24:41)
- Linux操作系统下完全删除Oracle数 (11/13/2012 08:25:52)
|
本文评论 查看全部评论 (0)