oracle字符、数字类函数总览
一、字符类:
1)、lower:字母转小写
SQL> select lower('AbCd') from dual;
LOWE
----
abcd2)、upper:字母转大写
SQL> select upper('AbCd') from dual;
UPPE
----
ABCD3)、initcap:首字母转大写
SQL> select initcap('abc') from dual;
INI
---
Abc4)、substr:从下标开始截取字符串,下标从1开始
SQL> select substr('abcd', 2) from dual;
SUB
---
bcd
SQL> select substr('abcd', 3) from dual;
SU
--
cd5)、length:取字符串字符长度
SQL> select length('abc你好') from dual;
LENGTH('ABC你好')
-----------------
5
SQL> select length('abc') from dual;
LENGTH('ABC')
-------------
36)、lengthb:取字符串字节长度
SQL> select lengthb('abc') from dual;
LENGTHB('ABC')
--------------
3
SQL> select lengthb('abc你好') from dual;
LENGTHB('ABC你好')
------------------
77)、instr:查找子串在母串中的位置
SQL> select instr('abcdef', 'def') from dual;
INSTR('ABCDEF','DEF')
---------------------
4
SQL> select instr('abcdef', 'ddd') from dual;
INSTR('ABCDEF','DDD')
---------------------
08)、lpad:将字符串从左填充字符
SQL> select lpad('132', 10) from dual;
LPAD('132'
----------
132
SQL> select lpad('132', 10, '0') from dual;
LPAD('132'
----------
0000000132
SQL> select lpad('abc', 7,'123') from dual;
LPAD('A
-------
1231abc9)、rpad:将字符串从右填充字符
SQL> select rpad('132', 10, '0') from dual;
RPAD('132'
----------
132000000010)、trim:删除字符串中指定字符
SQL> select trim('1' from '1231') from dual;
TR
--
23
SQL> select trim('12' from '1231') from dual;
select trim('12' from '1231') from dual
*
第 1 行出现错误:
ORA-30001: 截取集仅能有一个字符11)、replace:替换字符串中指定子串
SQL> select replace('wabdsahjhrtefcde', 'a', '你好') from dual;
REPLACE('WABDSAHJHRTEF
----------------------
w你好bds你好hjhrtefcde
SQL> select replace('wabdsahjhrtefcde', 'dsa', '你好') from dual;
REPLACE('WABDSAHJ
-----------------
wab你好hjhrtefcde12)、concat:连接字符串
SQL> select concat('123456', '789') from dual;
CONCAT('1
---------
123456789
SQL> select concat(concat('123456', '789'),'abc') from dual;
CONCAT(CONCA
------------
123456789abc
SQL> select 'abc' || 'def' || '123' from dual;
'ABC'||'D
---------
abcdef123二、数字类:
1)、round:四舍五入
SQL> select round(11.1111) from dual;
ROUND(11.1111)
--------------
11
SQL> select round(11.1111, 2) from dual;
ROUND(11.1111,2)
----------------
11.11
SQL> select round(11.1111, 99) from dual;
ROUND(11.1111,99)
-----------------
11.1111
SQL> select round(11.1111, -1) from dual;
ROUND(11.1111,-1)
-----------------
10
SQL> select round(11.1111, -2) from dual;
ROUND(11.1111,-2)
-----------------
0
SQL> select round(50, -2) from dual;
ROUND(50,-2)
------------
1002)、trunc:取整
SQL> select trunc(11.115, 2) from dual;
TRUNC(11.115,2)
---------------
11.11
SQL> select trunc(11.119, 2) from dual;
TRUNC(11.119,2)
---------------
11.11
SQL> select trunc(11.111, -1) from dual;
TRUNC(11.111,-1)
----------------
10
SQL> select trunc(19, -1) from dual;
TRUNC(19,-1)
------------
103)、mod:求余
SQL> select mod(10, 3) from dual;
MOD(10,3)
----------
1
SQL> select mod(10, 4) from dual;
MOD(10,4)
----------
2
SQL> select mod(10, 5) from dual;
MOD(10,5)
----------
04)、to_char:格式化成字符串
有点多,在百度找到一个比较好的教程,点我点我!