ORACLE SQL单行函数(一)【weber出品必属精品】
2014-08-15 19:12 yaoweber 阅读(333) 评论(0) 编辑 收藏 举报1.SUBSTR:求父串中的子串
SUBSTR('HelloWorld',1,5)
1:代表子串的起始位置,如果为正,正数,如果为负,倒数
5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后
SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后
2.LENGTH:求字符串的长度
SQL> select LENGTH('HELLOWORLD') from dual; LENGTH('HELLOWORLD') -------------------- 10
3.INSTR:求子串在父串中的位置
SQL> select INSTR('HelloWorld','W') from dual; INSTR('HELLOWORLD','W') ----------------------- 6
4. LPAD和RPAD:格式化输出
SQL> select LPAD(sal,10,'*'),rpad(sal,10,'*') from emp; LPAD(SAL,10,'*') RPAD(SAL,10,'*') ---------------------------------------- ---------------------------------------- *******800 800******* ******1600 1600****** ******1250 1250****** ******2975 2975****** ******1250 1250******
5. REPLACE:把父串中的子串用另一个子串替换
SQL> select REPLACE('JACK and JUE','J','BL') replace from dual; REPLACE -------------- BLACK and BLUE
6. TRIM:从父串中截断前置和后置连续的某个字符串:
SQL> select TRIM('H' from 'HHHHelloWorldHHH') from dual; TRIM('H'F --------- elloWorld
7.两个表示字符的数据类型:
varchar2(n):可变长度的,根据插入数据的长度,来分配长度
char(n):固定长度的,即使插入的数据小于n,那么oracle也会分配长度为n,不够n用空格补齐
SQL> create table t1(id number,name varchar2(10)); Table created. SQL> create table t2(id number,name char(10)); Table created. SQL> insert into t1 values(1,'a'); 1 row created. SQL> insert into t1 values(2,'b'); 1 row created. SQL> commit; Commit complete. SQL> insert into t2 values(1,'a'); 1 row created. SQL> insert into t2 values(2,'b'); 1 row created. SQL> insert into t2 values(3,'c'); 1 row created. SQL> commit; Commit complete. SQL> select * from t1; ID NAME ---------- ---------- 1 a 2 b SQL> select * from t2; ID NAME ---------- ---------- 1 a 2 b 3 c SQL> select t1.id,t2.name from t1,t2 where t1.name=t2.name; no rows selected SQL> select t1.id,t2.name from t1,t2 where t1.name=trim(t2.name);---这里演示了trim()的应用场景 ID NAME ---------- ---------- 1 a 2 b
8.数字函数
ROUND:对指定的值进行四舍五入
TRUNC:对指定的值进行截断
select trunc(45.926,2),round(45.926,2) from dual; TRUNC(45.926,2) ROUND(45.926,2) --------------- --------------- 45.92 45.93
9.MOD:返回除法计算后的余数
SQL> select mod(1600,300) from dual; MOD(1600,300) ------------- 100 SQL> select mod(300,1600) from dual; MOD(300,1600) ------------- 300
10.日期函数
Oracle 以一种内部的格式来保存日期: 世纪,年,月,日,小时,分钟,秒
缺省的格式:DD-MON-RR
通过只指定年份的后两位,可以在20世纪存储21世纪的日期,以同样的方法,可以在21世纪存储20世纪的日期
SYSDATE 是一个返回日期和时间的函数,他的值来源于操作系统
SQL> select sysdate from dual; SYSDATE --------- 15-AUG-14