ZTESOracle单行函数第二讲.pptVIP

  • 3
  • 0
  • 约3.26万字
  • 约 37页
  • 2017-05-28 发布于上海
  • 举报
ZTESOracle单行函数第二讲ppt课件

对数值使用 TO_CHAR函数 TO_CHAR函数用于将一个数字转换为一个VARCHAR2类型的字符串,可以指定一个可选的格式参数来约束显示的字符串样式。 注意: 如果指定了一个格式,而处理的数包含的数字个数多于格式中指定的数字个数,那么当试图进行这种格式转换时,TO_CHAR函数就会返回一个由井号(#)组成的字符串。 使用TO_NUMBER 和TO_DATE函数 如果想要将一个字符串转换成数值或日期,可以使用TO_NUMBER或TO_DATE函数。 格式模式已经在前面的章节中讲解了部分。 fx修饰符指定在TO_DATE函数中精确匹配字符串和日期格式 。使用FX参数之后: 字符及对应格式必须严格一一对应,甚至连分隔符也需要相符;不允许有多余空格;数值参与格式需要完全对应(或通过fm参数自动补足0)。 例如: select to_date(1999-10-10,yyyy/mm/dd) from dual; select to_date(1999-10-10,fxyyyy/mm/dd) from dual; TO_DATE(1999-10-10,YYYY/MM/DD) ----------------------------------------------------- 1999-10-10 以选择1行。 select to_date(1999-10-10,fxyyyy/mm/dd) from dual * 第 1 行出现错误: ORA-01861: 文字与格式字符串不匹配 函数嵌套 单行函数可以嵌套任意层。嵌套的函数是从最里层向最外层的顺序一次计算的。 函数嵌套 此示例显示了在60号部门工作的所有员工的姓名,以及对姓名进行特定处理后的结果字符串。这条SQL语句分三步计算: 1. 执行最内层的函数,截取姓名中的前8个字符。 Result1 = SUBSTR (LAST_NAME, 1, 8) 2. 执行其次外层的函数,将上一步结果连接”US”字符串。 Result2 = CONCAT(Result1, _US) 3. 执行最外层的函数,将第二步中的结果转换成大写形式的字符串。 Result3 = UPPER(Result2) 没有特定指定列的别名,整个表达式作为显示时的列标题。 例如 下面示例显示了所有雇员的复审日期。复审日期为雇佣6个月后的下个星期五。 SELECT TO_CHAR(NEXT_DAY(ADD_MONTHS(hire_date, 6), FRIDAY), fmDay, Month DDth, YYYY) Next 6 Month Review FROM employees ORDER BY hire_date; Next 6 Month Review --------------------------------------- Friday, December 18TH, 1987 Friday, March 18TH, 1988 Friday, March 23RD, 1990 …… 已选择107行。 NVL 函数 NVL 函数将NULL转换为一个实际的值。 语法: NVL (expr1, expr2) 语法分析: expr1 包含空值的源或表达式 expr2 将NULL转换后的目标值 可以使用NVL转换任何类型的数据,但是返回值expr2必须和expr1的数据类型一致。例如: 数据类型 转换示例 NUMBER NVL(number_column,9) DATE NVL(date_column, 01-JAN-95) CHAR or VARCHAR2 NVL(character_column, Unavailable) 条件表达 CASE表达式和DECODE函数可以在SQL中实现if-then-else的逻辑,而不是使用PL/SQL。 注意: CASE表达式和ANSI SQL兼容,DECODE函数采用特定的 Oracle 语法。 CASE表达式 CASE表达式让你在SQL中实现 IF-THEN-ELSE型的逻辑,而不必调用过程。 语法: expr是待求值得表达式。 comparison_expr1、 comparison_expr2、 comparison_exprn是要与expr进行比较的表达式。 return_expr1、 return_expr2、 return_exprn是(每一个可能出现的表达式所对应的)返回值。如果comparison_expr1的值等于expr,则返回return_expr1,以此类推。 else_expr是无法找到相匹配的表达式时的默认返回

文档评论(0)

1亿VIP精品文档

相关文档