• 单行函数可以嵌套到任意层。• 嵌套函数的计算顺序是从最内层到最外层。 单行函数可以嵌套到任意深度。嵌套函数的计算顺序是从最内层到最外层。下面的一些示例显示这类函数的灵活性。
hr@TEST0924> SELECT last_name,UPPER(CONCAT(SUBSTR (LAST_NAME, 1, 8), "_US"))FROM employees WHERE department_id = 60; LAST_NAME UPPER(CONCAT(SUBSTR(LAST_NAME,1,8),------------------------- -----------------------------------Hunold HUNOLD_USErnst ERNST_USAustin AUSTIN_USPataballa PATABALL_USLorentz LORENTZ_US 示例显示部门60 中的雇员的姓氏。该SQL 语句的计算涉及以下三个步骤:1.内部函数检索姓氏的前8 个字符。Result1 = SUBSTR (LAST_NAME, 1, 8)2.外层函数将结果与_US连接在一起。Result2 = CONCAT(Result1, "_US")3.最外层函数将结果转换为大写。因为没有给出列别名,所以整个表达式就成为列标题。示例:显示距聘用日期六个月后的下一个星期五的日期。按聘用日期对结果排列。
hr@TEST0924> 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, July 20th, 2001Friday, December 13th, 2002Friday, December 13th, 2002 hr@TEST0924> SELECT TO_CHAR(ROUND((salary/7), 2),"99G999D99", "NLS_NUMERIC_CHARACTERS = "",."" ") "Formatted Salary" FROM employees; Formatted----------371,43371,43628,571.857,14以上结果按照丹麦表示法显示,即逗号用作小数点,句点用作千位分隔符。hr@TEST0924> SELECT TO_CHAR(ROUND((salary/7), 2),"99G999D99") "Formatted Salary" FROM employees; Formatted----------371.43371.43628.571,857.14示例显示雇员薪金除以7 并舍入到2 位小数的结果。然后首先,执行内部ROUND函数将薪金除以7 之后的值舍入到2 位小数。然后,使用TO_CHAR函数设置ROUND函数结果的格式。注:在TO_CHAR函数参数中指定的D 和G 是数字格式元素。D 在指定的位置返回小数点字符。G 用作组分隔符。
相关阅读:Oracle数据库中的函数,包和触发器 http://www.linuxidc.com/Linux/2013-10/90876.htmOracle中窗口函数over()的学习 http://www.linuxidc.com/Linux/2013-08/89405.htmOracle数据库生成随机数的函数 http://www.linuxidc.com/Linux/2013-06/86384.htmOracle自定义函数查询数据字典项 http://www.linuxidc.com/Linux/2013-06/86229.htmOracle日期函数/字符函数/数字函数/转换函数/聚合函数 http://www.linuxidc.com/Linux/2012-09/70456.htmOracle中Decode()函数使用说明 http://www.linuxidc.com/Linux/2012-09/69811.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Oracle DBlink的创建RedHat 6.1下MySQL 5.5源码安装相关资讯 Oracle函数 Oracle嵌套
- Oracle字符串函数总结 (06月20日)
- Oracle lag()与lead() 函数 (12/01/2015 20:41:24)
- Oracle ascii函数 (07/26/2015 08:46:01)
| - Oracle使用简单函数 (06月09日)
- REGEXP_SUBSTR函数的整理 (08/20/2015 20:41:01)
- Oracle dump函数 (07/26/2015 08:40:01)
|
本文评论 查看全部评论 (0)