ORACLE语句学习档

导读:-to_date(char)//按缺省格式'dd-mm-yy'进行解析-to_date(char,'format_model')//按模式串指定的格式进行解析*例:-insertintot5values('BOBO',to_date('2008-02-28','yyyy-mm-dd

ORACLE语句学习档

- to_date(char) // 按缺省格式'dd-mm-yy'进行解析

- to_date(char, 'format_model') // 按模式串指定的格式进行解析

* 例:

- insert into t5 values('BOBO', to_date('2008-02-28', 'yyyy-mm-dd'));

- select to_date(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss') from dual; - select to_char(to_date(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss'), 'dd/mm/yyyy') from dual;

##########[ 数字 -> 字符串 ]##########

* to_char()函数可以将数字值转换为字符串形式

* 格式:

- to_char(number)

- to_char(number, 'format_model')

* 例:

- select to_char(12345.678901) from dual;

- select to_char(12345.678901, '$99,999.0000') from dual;

* 数字模式符:

* 格式符 说 明

- 9 代表一位数字

- 0 代表一位数字,强制显示0

- $ 放置一个美圆符$

- L 放置一个本地货币符

- . 小数点

- , 千位指示符

* 例:

- select to_char(12345.6, 'L999,999.0000') from dual;

##########[ 字符串 -> 数字 ]##########

* to_number()函数可以将字符串转换为数字值形式

* 格式:

- to_number(char)

- to_number(char, 'format_model')

- select to_number('12345.678901') from dual;

- select to_number('$12,345.6789', '$99,999.0000') from dual;

##########[ 通用函数 ]##########

* 通用函数适用于任何类型数据(包括空值):

- nvl()

- nvl2()

- nullif()

- coalesce()

- case表达式

- decode()

##########[ NVL()函数 ]##########

* NVL()函数用于将空值null替换为指定的缺省值,适用于字符,数字,日期等类型数据

* 语法格式:

- NVL(exp1, exp2)

* 说明:

- 如果表达式exp1的值为null,则返回exp2的值,否则返回exp1的值

* 用法举例:

- select empno, ename, sal, comm, sal+nvl(comm, 0) from emp;

- select empno, ename, hiredate, nvl(hiredate, sysdate) from emp;

- select empno, ename, job, nvl(job, 'NO job yet') from emp;

##########[ NVL2()函数 ]##########

* NVL2()函数用于实现条件表达式功能

* 语法格式:

- NVL2(exp1, exp2, exp3)

* 说明:

- 如果表达式exp1的值不为null,则返回exp2的值,否则返回exp3的值

* 用法举例:

- select empno, ename, sal, comm, nvl2(comm, sal+comm, sal) from emp;

##########[ NULLIF()函数 ]##########

* NULLIF()函数用于数据等价性比较并根据比较结果返回null或其中一个被比较的数值

* 语法格式:

- NULLIF(exp1, exp2)

* 说明:

- 如果表达式exp1与exp2的值相等返回null,否则返回exp1的值

* 用法举例:

- select name 原名, nullif(pen_name, name) 化名 from author;

##########[ COALESCE()函数 ]##########

* COALESCE()函数用于实现数据"接合"功能

* 语法格式:

- COALESCE(exp1, exp2, ...)

* 说明:

- 依次考察各参数表达式,遇到非null值即停止并返回该值

* 用法举例:

- select empno, ename, sal, comm, coalesce(sal+comm, sal, 0) 总收入 from emp;

##########[ CASE()函数 ]##########

* CASE()表达式用于实现多路分支结构

* 语法格式:

- CASE exp1 when comparison_exp1 then return_exp1

- [when comparison_exp2 then return_exp2

- when comparison_expn then return_expn

- else esle_exp]

- end [TempName]

* 说明:

- 如果 exp1 是 comparison_exp1 的时候,就返回 return_exp1

- [ comparison_exp2 的时候,就返回 return_exp2

- comparison_expn 的时候,就返回 return_expn - else 就返回 esle_exp ]

- end [别名]

* 用法举例:

- select empno, ename, sal,

- case deptno when 10 then '财务部'

- when 20 then '研发部'

- when 30 then '销售部'

- else '未知部门'

- end 部门

- from emp;

##########[ DECODE()函数 ]##########

* 和CASE()表达式类似,DECODE()函数也用于实现多路分支结构

* 语法格式:

- decode(col|expression, search1, result1

- [, search2, result2, ...,]

- [, default])

* 说明:

- 如果 col|expression 是 search1 的时候,就返回 result1

- [ search2 的时候,就返回 result2, ...] - [, default])

- [别名]

* 用法举例:

- select empno, ename, sal,

- decode(deptno, 10, '财务部',

- 20, '研发部',

- 30, '销售部',

- '未知部门')

- 部门

- from emp;

##########[ 函数嵌套 ]##########

* 单行孙数可以嵌套使用, 嵌套层次无限制

* 嵌套函数的执行顺序是由内到外

五星文库wxphp.com包含总结汇报、考试资料、办公文档、党团工作、工作范文、资格考试、旅游景点、word文档、出国留学以及ORACLE语句学习档等内容。

本文共15页1234567>>15