oracle数据库使用过程中问题汇总
2016-10-14 16:06
106 查看
1.''和NULL的区别
1.1 差异比较
空值具有以下特点:
* 等价于没有任何值。
* 与 0、空字符串或空格不同。
* 在where条件中, Oracle认为结果为NULL的条件为FALSE,带有这样条件的select语句不返回行,并且不返回错误信息。但NULL和FALSE是不同的。
* 排序时比其他数据都大。
* 空值不能被索引
1.2 使用上注意(oracle字段address无论是null还是'',都不能用等号查)
1.2.1 错误方式
select count(1) from dual where null='' or null=null;
1.2.2 正确方式
select count(1) from dual where null is null;
2.特殊函数使用
2.1 示例
select
nullif(1,1), --两个参数相等返回 null,否则,返回第一个参数的值
coalesce(null,2,1,3), --返回第一个非空的值,
nvl(null,'resultValue'), --若第一个参数为空,则返回默认值
nvl2(null,'notNullVal','nullVal'), --第一个参数为空,则返回第三个参数值,否则返回第二个参数值
decode(1,1,'equalsNum1',2,'equalsNum2'),--表示第一个参数和其后面的每组条件(两个参数为一组,1表示比较值,'equalsNum1'表示匹配比较值之后的返回值)
greatest(1,2,3) maxOne, --返回三个中的最大值
least(1,2,3) minOne, --返回三个数字之间的最小值,
lpad('func',15,'='), --左添充,在字符串'func'的左边添加 10 个 '='(15表示结果字符串的总长度)
rpad('func',15,'-') --右填充,在字符串'func'的右边边添加 10 个 '-'(15表示结果字符串的总长度)
from dual;
2.2 使用用途
a. 空值判断取值;
b. 比较大小取值;
c. 特殊格式输出;
以上内容为个人使用oracle遇到的疑惑和特殊函数用法汇总,欢迎大家探讨和补充,一起学习,共同成长~
1.1 差异比较
空值具有以下特点:
* 等价于没有任何值。
* 与 0、空字符串或空格不同。
* 在where条件中, Oracle认为结果为NULL的条件为FALSE,带有这样条件的select语句不返回行,并且不返回错误信息。但NULL和FALSE是不同的。
* 排序时比其他数据都大。
* 空值不能被索引
1.2 使用上注意(oracle字段address无论是null还是'',都不能用等号查)
1.2.1 错误方式
select count(1) from dual where null='' or null=null;
1.2.2 正确方式
select count(1) from dual where null is null;
2.特殊函数使用
2.1 示例
select
nullif(1,1), --两个参数相等返回 null,否则,返回第一个参数的值
coalesce(null,2,1,3), --返回第一个非空的值,
nvl(null,'resultValue'), --若第一个参数为空,则返回默认值
nvl2(null,'notNullVal','nullVal'), --第一个参数为空,则返回第三个参数值,否则返回第二个参数值
decode(1,1,'equalsNum1',2,'equalsNum2'),--表示第一个参数和其后面的每组条件(两个参数为一组,1表示比较值,'equalsNum1'表示匹配比较值之后的返回值)
greatest(1,2,3) maxOne, --返回三个中的最大值
least(1,2,3) minOne, --返回三个数字之间的最小值,
lpad('func',15,'='), --左添充,在字符串'func'的左边添加 10 个 '='(15表示结果字符串的总长度)
rpad('func',15,'-') --右填充,在字符串'func'的右边边添加 10 个 '-'(15表示结果字符串的总长度)
from dual;
2.2 使用用途
a. 空值判断取值;
b. 比较大小取值;
c. 特殊格式输出;
以上内容为个人使用oracle遇到的疑惑和特殊函数用法汇总,欢迎大家探讨和补充,一起学习,共同成长~
相关文章推荐
- VC 使用过程中所遇到的一些问题,汇总在这里,希望对后来者有些许帮助
- 使用vs.net过程中问题汇总
- Ajax使用过程中常见问题汇总
- VS2008使用过程中问题汇总(不断整理中...)
- 使用10.04过程中遇到了很多中文问题,都解决了,汇总下来供大家参考
- 在Windows系统下Git使用过程中配到的一些问题汇总(持续更新)
- Python ctypes 在 Python 2 和 Python 3 中的不同 // 使用ctypes过程中问题汇总
- 使用JEECG过程中的问题汇总(持续更新)
- play框架配置使用过程中遇到的各种疑难问题汇总(学习同事经验)
- MAVEN使用过程中遇到的问题汇总
- Ajax技术(5)--Ajax使用过程中常见问题汇总
- 初次使用git管理代码~后续使用过程中遇到的问题汇总
- 使用LR11过程中遇到的一些问题汇总
- Android studio使用过程中遇到的问题解决汇总
- 使用Python+Selenium过程中中常见的问题汇总
- 思维导图神器 xmind 使用过程的一些问题汇总
- Arch使用过程中出现的问题汇总
- Android studio 使用Zxing二维码扫描,过程及问题汇总
- Cocoa pods的安装使用以及过程中可能会遇到问题的汇总
- Android studio 使用Zxing二维码扫描,过程及问题汇总