函数名 函数详解 备注
FLOOR 返回小于等于n的最大整数值 floor(n)
CEIL 返回大于等于数值n的最小整数值 ceil(n),n是字符也可以
CONCAT 用于将两个字符串连接在一起 CONCAT( string1, string2 )
INSTR 字符查找函数位置
SUBSTR 截取字符指定段
INITCAP 首字母变为大写
MOD 返回m除以n的余数,如果n是0,返回m mod(m,n)
trunc TRUNC()函数在截取时不进行四舍五入,直接截取;如果Num_digits为正数,则截取小数点后Num_digits位;如果为负数,则先保留整数部分,然后从个位开始向前数,并将遇到的数字都变为0。 RUNC(number,num_digits)
round 和trunc函数不同,对截取的数字要四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。
  • FLOOR
1
2
3
4
5
【功能】返回小于等于x的最大整数值

【参数】x,数字型表达式

【返回】数字
1
2
3
4
5
6
7
8
9
10
11
SQL> select floor(3.1),floor(3.6),floor(2.8+1.3),floor(0),floor(-1.5) from dual;

FLOOR(3.1) FLOOR(3.6) FLOOR(2.8+1.3) FLOOR(0) FLOOR(-1.5)
---------- ---------- -------------- ---------- -----------
3 3 4 0 -2

SQL> select floor(3.1),floor('3.1'),ceil(3.1),ceil('3.1') from dual;

FLOOR(3.1) FLOOR('3.1') CEIL(3.1) CEIL('3.1')
---------- ------------ ---------- -----------
3 3 4 4
  • CONCAT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CONCAT('Oraok', '.com')
-- Result: 'Oraok.com'

CONCAT('a', 'b')
-- Result: 'ab'

SELECT CONCAT(CONCAT('A', 'B'),'C')
FROM dual;
-- Result: 'ABC'

SQL> SELECT CONCAT('Let''s', ' learn Oracle') FROM dual;

CONCAT('LET''S','L
------------------
Let's learn Oracle
由于参数包含在单引号中,因此在引号内使用2个额外的单引号来表示生成的连接字符串中的单引号。
  • INSTR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
格式一:instr( string1, string2 )
/ instr(源字符串, 目标字符串)

格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] )
/ instr(源字符串, 目标字符串, 起始位置, 匹配序号)

解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置)开始在string1检索,检索第nth_appearance(几)次出现string2。

SQL> select instr('helloworld','l') from dual;

INSTR('HELLOWORLD','L')
-----------------------
3

SQL> select instr('helloworld','lo') from dual;--在“lo”中,“l”开始出现的位置

INSTR('HELLOWORLD','LO')
------------------------
4

SQL> select instr('helloworld','l',2,2) from dual;

INSTR('HELLOWORLD','L',2,2)
---------------------------
4
  • trunc 与 round
1
2
3
4
5
6

SYS@testdb>select round(1),round(1.5,-1),round(55.5,-1),trunc(55.5,-1),trunc(1),trunc(1.5,-1) from dual;

ROUND(1) ROUND(1.5,-1) ROUND(55.5,-1) TRUNC(55.5,-1) TRUNC(1) TRUNC(1.5,-1)
---------- ------------- -------------- -------------- ---------- -------------
1 0 60 50 1 0