日期:2014-05-16  浏览次数:20416 次

Oracle db 使用转换函数和条件表达式
? 描述SQL 提供的各类转换函数
? 使用TO_CHAR、TO_NUMBER和TO_DATE转换函数
? 在SELECT语句中应用条件表达式

  • 隐式和显式数据类型转换
http://blog.csdn.net/rlhua/article/details/12832019
  •  TO_CHAR、TO_DATE、TO_NUMBER函数
http://blog.csdn.net/rlhua/article/details/12832885

  • 嵌套函数
http://blog.csdn.net/rlhua/article/details/12860479

  • 常规函数
http://blog.csdn.net/rlhua/article/details/12860467
下列函数可用于任何数据类型,且适合使用空值的场合:
? 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 专用的语法。

  • CASE表达式
具有与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。否则,OracleServer 会返回空值。你不能为所有的return_expr和else_expr指定文字值ULL。表达式expr和comparison_expr必须具有相同的数据类型,可以是CHAR、VARCHAR2、NCHAR或NVARCHAR2。所有返回值(return_expr) 必须具有相同的数据类型。

  • 使用CASE表达式
具有与IF-THEN-ELSE语句相同的功效,可简化条件查询:
hr@TEST0924> SELECT last_name, job_id, salary,
友情链接: 爱易网 云虚拟主机技术 云服务器技术 程序设计技术 开发网站 APP开发教程
Copyright © 2013-2024 爱易网页 当前在线:285人  网站在4时10分34秒内访问总人数:81649人 当前 6.03%  粤ICP备18100884号-2