oracle函数——单行函数

 

1、格式化dos窗口命令:

Set linesize 300;   设置行

Set pagesize 30;   设置页

这两个命令只在sqlplus中有效,程序无效。

2、调用记事本

         ed、@;

3、切换用户:

         conn 用户名/密码 【as sysdba】;

4、select [distinct] * |列名称[别名],列名称[别名],……

         from 数据表 [别名]

         [where 条件(s)]

         [order by 字段[asc|desc]];

         以上给出的格式的执行顺序,from、where、select、order by(永远最后一个执行)

在编写where子句之中,可以设置多个条判断的条件:关系运算符(>,<,>=,<=,<>,!=)、逻辑运算符(and,or,not),若干个条件连接只能用and,or,between and,in(使用not in的时候该地段不能出现null,否则不会有任何数据返回),is null,like(like可以使用各种数据类型,如果没有设置关键字表示查询全部。单字符用_,任意字符用%);

         order by 子句之中是唯一可以使用select子句定义的别名的子句。

5、单行函数的定义:

         单行函数的功能非常简单,就是完成一个特定的功能。例如,现在希望将字母变为大写,这样的功能就可使用单行函数来实现。

         单行函数的分类有:字符串函数,数字函数,日期函数,转换函数,通用函数。所用的单行函数在进行记忆的时候都必须记下单行函数的名称,返回值类型,接收的参数数据等。

1、

select upper('Hello') UPPER ,lower('Hello') LOWER from dual;  --字符串转换

 

2、

select * from &tablename;  -- 自定义输入数据表的名称

3、

select length('hello world') from dual;  --获取字符串长度

4、

select initcap(ename) from emp;  --设置字符串首字母大写,其余字母小写

5、

select ename ,replace(ename,'A','_')from emp;   --字符串替换【序列号好像不行】

6、

select substr('hello world',5) from dual;   --截取字符串中>=5的字符串,序列从1开始;

7、

select substr('helloworld',1,5)from dual;  --截取序列为[1,5]闭区间的元素

8、

select substr('helloworld',length('helloworld')-2)from dual;   --获取字符串的后位元素

9、

select trim('  hello world  ') from dual;   --去掉字符串左右两边的空格

数字函数

主要针对于数字进行处理。

1、

select round(111,888) from dual;   --去掉小数部分

 

2、

select round(111.225,2) from dual;   --四舍五入保留5位小数

3、

select round(111.222,-2) from dual;   --整数部分回退两位,以50为界四舍五入。

 

4、

select round(-15.5),round(-17.2) from dual;   --负数的取整先四舍五入再加负号

5、

select trunc(-222.555) from dual;   --保留整数

6、

select mod(1.,3) from dual;    -取余数

7、

Select systimestamp from dual;   --获取系统当前时间

8、

计算两个日期之间所经历的月数,年数的计算是经过月数的计算完成的,一年12个月是不会改变的。

范例:计算每一位雇员到今天为止所经历的年数,所经历的月数,所经历的天数

select ename,months_between(sysdate,hiredate) 月数,trunc(months_between(sysdate,hiredate)/12) 年数 from emp;

9、

select next_day(sysdate,'星期日')from dual;    --下一个星期日的日期

10、

select last_day(systimestamp)-2 from dual;    --查询本月的倒数第三天

11、

select to_char(sysdate,'yyyy-mm-dd') from dual;    --设置日期的格式

12、

范例:查询出所有在二月份雇佣人员的名单

13、

select to_char(16132165122,'L999,999,999,999,999')from dual;   ---格式化显示数字

14、

select 1+2 from dual;   --直接进行加法操作

select to_number('1')+to_number('2') from dual;   --先把字符串转换为数字再进行加法操作

通用函数,在oracle中常使用的主要有两个,NVL和DECODE()

1、处理NULL数据

范例:要求计算emp表中每一位雇员的年薪

select ename,sal,comm,(sal+NVL(comm,0))*12 from emp;

 

1、处理字符串解码

范例:将所有雇员的职位数据变为中文数据

select ename,job,decode(job,'CLERK','办事员') from emp;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值