当前位置:  数据库>oracle

Oracle DB 使用转换函数和条件表达式

    来源: 互联网  发布时间:2017-05-27

    本文导语: • 描述SQL 提供的各类转换函数 • 使用TO_CHAR、TO_NUMBER和TO_DATE转换函数 • 在SELECT语句中应用条件表达式   隐式和显式数据类型转换   下列函数可用于任何数据类型,且适合使用空值的场合: • NVL (expr1, expr2...

• 描述SQL 提供的各类转换函数
• 使用TO_CHAR、TO_NUMBER和TO_DATE转换函数
• 在SELECT语句中应用条件表达式
 
  • 隐式和显式数据类型转换
  •  
下列函数可用于任何数据类型,且适合使用空值的场合:
• NVL (expr1, expr2)
• NVL2 (expr1, expr2, expr3)
• NULLIF (expr1, expr2)
• COALESCE (expr1, expr2, ..., exprn)
 
• 使你可以在SQL 语句中使用IF-THEN-ELSE逻辑。
• 使用下面两种方法:
– CASE表达式
– DECODE函数
 
在SQL 语句中,用于执行条件处理(IF-THEN-ELSE逻辑)的两种方法是CASE表达式和DECODE函数。
注:CASE表达式符合ANSI SQL。而DECODE函数是Oracle 专用的语法。
 
具有与IF-THEN-ELSE语句相同的功效,可简化条件查询:
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END
 
CASE表达式使你可以在SQL 语句中使用IF-THEN-ELSE逻辑,而无需调用任何过程。
在简单的CASE表达式中,Oracle Server 会搜索其expr等于comparison_expr的第一对WHEN ... THEN,然后返回return_expr。如果没有满足此条件的WHEN ...THEN对,并且存在一个ELSE子句,则Oracle Server 将返回else_expr。否则,不能为所有的return_expr和else_expr指定文字值ULL。表达式expr和comparison_expr必须具有相同的,可以是CHAR、VARCHAR2、NCHAR或NVARCHAR2。所有返回值(return_expr) 必须类型。
 
具有与IF-THEN-ELSE语句相同的功效,可简化条件查询:
 
示例中的SQL 语句用于解码JOB_ID的值。如果JOB_ID为IT_PROG,则薪金增加10%;如果JOB_ID为ST_CLERK,则薪金增加15%;如果JOB_ID为SA_REP,则薪金增加20%。对于所有其它职务角色,不增加薪金。
可以使用DECODE函数编写同样的语句。
以下代码是一个搜索CASE。在搜索CASE表达式中,搜索从左到右进行,直到找到列出的条件,然后它会返回相应的返回表达式。如果找不到满足的条件,但存在一个ELSE子句,则返回ELSE子句中的返回表达式,其它情况则返回NULL。
具有与CASE表达式或IF-THEN-ELSE语句相同的功效,
可简化条件查询:
DECODE(col|expression, search1, result1
[, search2, result2,...,]
[, default])
DECODE函数用于对进行解码,其方式与在各种语言中使用的IF-THEN-ELSE逻辑类似。DECODE函数在将表达式与每个搜索值进行比较之后对表达式进行解码。如果表达式与搜索值相同,则返回结果。
如果省略了默认值,并且搜索值不与任何结果值相匹配,则会。
 
更多详情见请继续阅读下一页的精彩内容:

    
 
 

您可能感兴趣的文章:

  • oracle正则表达式regexp_like的用法详解
  • Oracle正则表达式简单例子
  • Oracle 10G:PL/SQL正规表达式(正则表达式)手册
  • Oracle正则表达式使用介绍
  • Oracle SQL 语句中正则表达式的应用
  • Oracle 系统变量函数介绍
  • Oracle 系统变量函数用法指南
  • Oracle中decode函数的用法
  • Oracle round()函数与trunc()函数区别介绍
  • oracle中lpad函数的用法详解
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle函数substr(str1, pos, [len])
  • Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
  • SQL中Charindex和Oracle中对应的函数Instr对比
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • Oracle Max函数使用中出现的问题
  • oracle合并列的函数wm_concat的使用详解
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • c#中oracle to_date函数用法举例
  • Oracle 函数用法之decode
  • Oracle过程与函数的区别分析
  • Oracle层次查询和with函数的使用示例
  • oracle的nvl函数的使用介绍
  • c#中oracle的to_date函数使用方法
  • Oracle中nul()函数
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,