Oracle中的sql函数

本文介绍了 Oracle SQL 中各类常用函数的应用,包括字符函数、数学函数、日期函数、转换函数及系统函数。通过实例展示了如何使用这些函数进行数据处理与查询优化。

1.字符函数

lower(string) upper() length() substr() replace(字段,src,dest)

select substr(ename,1,3) from emp;

从第几个开始,取几个字符

SQL> select ename from emp;

ENAME
--------------------
tazi
SMITH
ALLEN
WARD
JONES
MARTIN

SQL> select substr(ename,1,3) from emp;

SUBSTR(ENAME,1,3)
------------------------
taz
SMI
ALL
WAR
JON

2.数学函数

round(n,[m]) 四舍五入,m表示保留几位小数,m为负数则截取到小数点前多少位

trunc(n,[m]) 截取,m表示保留几位小数

floor()

ceil()

SQL> select mod(10,3) from dual;

MOD(10,3)
----------
         1

3.日期函数

oracle默认的日期格式 dd-mm-yy,中文是02-1月-2012

SQL> select sysdate from dual;

SYSDATE
--------------
03-1月 –12

addmonths(d,n)

查找入职8个月以上的员工

select * from emp where sysdate>add_months(hiredate,8);

last_day(d)表示d日期所在的月的倒数第一天对应的日期

查找在一个月的倒数第三天入职的员工

select ename from emp where hiredate=last_day(hiredate)-2;

4.转换函数

把数据按照某种特定的格式显示

SQL> select ename,to_char(hiredate,'yyyy-mm-dd hh24:mm:ss') from emp;

ENAME                TO_CHAR(HIREDATE,'YYYY-MM-DDHH24:MM:SS
-------------------- --------------------------------------
tazi
SMITH                1980-12-17 00:12:00
ALLEN                1981-02-20 00:02:00

对货币类型的数据格式化

SQL> desc emp;
名称                                      是否为空? 类型
----------------------------------------- -------- --------------------
SAL                                                NUMBER(7,2)

select ename,to_char(sal,'L99,999.99') from emp;  //L表示本地,可以换成’$’等

ENAME                TO_CHAR(SAL,'L99,999.99')
-------------------- ---------------------------------
tazi                            ¥900.00
SMITH                           ¥800.00
ALLEN                         ¥1,600.00
WARD                          ¥1,250.00
JONES                         ¥2,975.00
MARTIN                        ¥1,250.00

99999.99是因为该字段是NUBER(7,2)类型

显示1980年入职的员工

SQL> select ename from emp where to_char(hiredate,'yyyy')=1980;  /*Oracle会自动转换类型*/

ENAME
--------------------
SMITH

SQL> select ename from emp where to_char(hiredate,'yyyy')='1980';

ENAME
--------------------
SMITH

5.系统函数

sys_context()

SQL> select sys_context('USERENV','current_user') from dual;

SYS_CONTEXT('USERENV','CURRENT_USER')
-----------------------------------------------------------------

SCOTT

select sys_context('USERENV','current_schema')from dual;

db_name language nls_date_format当前会话的日期格式 host数据库所在主机名

SQL> select sys_context('USERENV','host') from dual;

SYS_CONTEXT('USERENV','HOST')
-------------------------------------------------------

WORKGROUP\TAZI-PC



 

 

 

 

 

 

转载于:https://www.cnblogs.com/tazi/archive/2012/01/04/2311582.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值