标签:
单行函数:
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(char[, ‘format_model‘])
TO_DATE(‘2012年10月29日08:10:21’,’yyyy“年”mm”月”dd“日”hh:mi:ss’) from dual
TO_NUMBER(char[,‘format_model‘])
TO_NUMBER(‘¥1,234,567,890.00’,’L999,999,999,999.99’)from dual
这些函数适用于任何数据类型,同时也适用于空值:
将空值转换成一个已知的值:(如果commission_pct为空是,commission_pct为原来的值,为空时,commission_pct为expr2)
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 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;
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u014338577/article/details/47363685