oracle 自学笔记1

1.oracle的转义字符(条件含有关键字)

如果要查询字符中含有’_’条件的结果,需要在语句中定义转义字符,如下所示:

定义语法escapte ‘要定义的字符串’

查询姓名含有‘_’的信息

Select * from employee where name like ‘%\_%’  escapte’\’

 

2.查询部门中姓名含有ae的信息

Select * from employee  where name like ‘%a%e%’;

Union

Select * from employee  where name like ‘%e%a%’;

 

注意:‘%a’:表示字符末尾为a的字符串。

      ‘%a%’:表示字符含有a的字符串。

 

3.查询屏入职时间在‘1992-09-12‘到’2012-09-12‘期间入职的员工信息

Select * from employee where to_char( hire_date,’yyyy-MM-dd’) between ‘1992-09-12’ and ‘2012-09-12’ 

4.单行函数  

Lower(字符串):将字符串全部转化成小写

Upper(字符串):将字符串全部转化成大写

Initcap(字符串):将字符串的第一个字母转化成大写,其他全部是小写

Select lower(‘ATIJAVa’) upper(‘ttijava’) initcap(‘attijava’) from dual;

 

Case。。When的用法

如下需求:查询部门好为10,20,30的员工信息,若部门号为10,则打印其工资的1.1倍,

部门号为20,则打印其工资的1.2倍,部门号为30,则打印其工资的1.3倍,如下语句:

Select * from  employee_id,last_name,depart_id,case department_id  when 10 then salary*1.1

                                                       when  20  then  salary*1.2

                                                       Else salary*1.3 end new_sal

From  employees

Where department_id in(10,20,30)

Decode 用法

如下需求:查询部门好为10,20,30的员工信息,若部门号为10,则打印其工资的1.1倍,

部门号为20,则打印其工资的1.2倍,部门号为30,则打印其工资的1.3倍,如下语句:

Select * from  employee_id,last_name,depart_id,decode(department_id ,10,salary*1.1,

                                                      20  , salary*1.2,

                                                       salary*1.3) end new_sal

From  employees

Where department_id in(10,20,30)

 

Nvl2用法

NVL2(expr1,expr2,expr3)

OracleNVL()的功能上扩展,提供了NVL2函数。

   功能:oracle中常用函数,如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。

Nvl用法

Oracle PL/SQL中的一个函数。

格式为:

NVL( string1, replace_with)

功能:如果string1NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL

注意事项:string1replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。


小弟刚接触oracle,里面有很多不足之处,请原谅。

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值