oracle数据库使用过程中问题汇总
发布时间:2020-12-12 15:52:39 所属栏目:百科 来源:网络整理
导读:1.''和NULL的区别 1.1 差异比较 空值具有以下特点: * 等价于没有任何值。 * 与 0、空字符串或空格不同。 * 在where条件中,Oracle认为结果为NULL的条件为FALSE,带有这样条件的select语句不返回行,并且不返回错误信息。但NULL和FALSE是不同的。 * 排序时比其
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,'equalsNum1','equalsNum2'),--表示第一个参数和其后面的每组条件(两个参数为一组,1表示比较值,'equalsNum1'表示匹配比较值之后的返回值) greatest(1,3) maxOne,--返回三个中的最大值 least(1,3) minOne,--返回三个数字之间的最小值, lpad('func',15,'='),--左添充,在字符串'func'的左边添加 10 个 '='(15表示结果字符串的总长度) rpad('func','-') --右填充,在字符串'func'的右边边添加 10 个 '-'(15表示结果字符串的总长度) from dual; 2.2 使用用途 a. 空值判断取值;b. 比较大小取值; c. 特殊格式输出; 以上内容为个人使用oracle遇到的疑惑和特殊函数用法汇总,欢迎大家探讨和补充,一起学习,共同成长~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |