首页 / ORACLE / ORACLE 第3节 单行函数
ORACLE 第3节 单行函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ORACLE 第3节 单行函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2197字,纯文字阅读大概需要4分钟。
内容图文
?使用条件表达式两种SQL函数
单行函数:
?操作数据对象 ?接受参数返回一个结果 ?只对一行进行变换 ?每行返回一个结果 ?可以转换数据类型 ?可以嵌套 ?参数可以是一列或一个值function_name [(arg1,arg2,...)]
字符型函数:
大小写控制函数
大小写控制函数:
这类函数改变字符的大小写。
LOWER
UPPER
INITCAP
显式数据类型转换:
SELECT TO_CHAR(sysdate,‘yyyy-mm-ddhh:mi:ss’) FROM dual;
TO_CHAR(date, ‘format_model‘)
?使用 TO_DATE 函数将字符转换成数字:
TO_DATE(char[, ‘format_model‘])
TO_DATE(‘2012年10月29日08:10:21’,’yyyy“年”mm”月”dd“日”hh:mi:ss’) from dual
?使用TO_NUMBER函数将字符转换成日期:
TO_NUMBER(char[,‘format_model‘])
TO_NUMBER(‘¥1,234,567,890.00’,’L999,999,999,999.99’)from dual
通用函数:
这些函数适用于任何数据类型,同时也适用于空值:
?NVL(expr1, expr2) ?NVL2(expr1, expr2, expr3) ?NULLIF(expr1, expr2) ?COALESCE(expr1, expr2, ..., exprn)将空值转换成一个已知的值:(如果commission_pct为空是,commission_pct为原来的值,为空时,commission_pct为expr2)
–NVL(commission_pct,0)NVL2 (expr1, expr2, expr3) : expr1不为NULL,返回expr2;为NULL,返回expr3。
SELECT last_name, salary, NVL(commission_pct, 0),
(salary*12) + (salary*12*NVL(commission_pct, 0)) AN_SAL
FROM employees;条件表达式:
–CASE 表达式 –DECODE 函数
CASE expr WHEN comparison_expr1THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END
SELECT last_name, job_id, salary, CASE job_id WHEN 'IT_PROG' THEN 1.10*salary WHEN 'ST_CLERK' THEN 1.15*salary WHEN 'SA_REP' THEN 1.20*salary ELSE salary END "REVISED_SALARY" FROM employees;
select employee_id,last_name,department_id,case department_id when 10 then salary*1.1 when 20 then salary*1.2 when 30 then salary*1.3 end "new salary" from employees where department_id in (10,20,30)
SELECT last_name,job_id, salary,
DECODE(job_id, ‘IT_PROG‘, 1.10*salary,
‘ST_CLERK‘, 1.15*salary,
‘SA_REP‘, 1.20*salary,
salary)
REVISED_SALARY
FROM employees;
版权声明:本文为博主原创文章,未经博主允许不得转载。
ORACLE 第3节 单行函数
标签:
本文系统来源:http://blog.csdn.net/u014338577/article/details/47363685
内容总结
以上是互联网集市为您收集整理的ORACLE 第3节 单行函数全部内容,希望文章能够帮你解决ORACLE 第3节 单行函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。