Oracle中空值与数字相加问题】的更多相关文章

select 10 + 10 + 10 from dual 结果是30,全然没问题. select null + 10 + 10 from dual 结果是空串,但期望的结果是20. select nvl(null,0) + 10 + 10 from dual 这样处理结果为20.若查询有空值的情况需利用nvl处理,否则运算有误. select null || 10 || 10 from dual 字符串拼接没有问题.…
http://blog.csdn.net/p451933505/article/details/9272257 对Oracle中中文.数字.英文混杂形式的字段进行排序的方法: 例如: order by NLSSORT(字段名,'NLS_SORT = SCHINESE_PINYIN_M'), to_number(translate(字段名, '0123456789' || 字段名, '0123456789')) NLSSORT() 函数: 可以使用NLSSORT()函数可以改变Oralce 对汉字…
关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其... 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999999999999999.00') as amount 不足之处是,如果数值是0的话,会显示为.00而不是0.00. 另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”. 解决方式如下: select decode(salary,0,'0.00',(to_char…
1.NULL空值概念 数据库里有一个很重要的概念:空值即NULL.有时表中,更确切的说是某些字段值,可能会出现空值, 这是因为这个数据不知道是什么值或根本就不存在. 2.NULL空值判断 空值不等同于字符串中的空格,也不是数字类型的0 .因此,判断某个字段值是否为空值时不能使用=,<>,in,not in这些判断符,如果非要用的话,可以用NVL(column_name,'sfd')<>'4'表示就可以了.必需有专用的短语:IS NULL 来选出有空值字段的记录,同理,可用 IS N…
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create or replace type splitTable is table of varchar2(100); 2.创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString('ernanyinv','nan'))…
之前写过一篇 Oracle中对数字加汉字的排序以及REGEXP_SUBSTR介绍 后来在开发的过程中又遇到相似问题.数据不一样了,按之前的使用方法是不适用的. 之前的是数字在前汉字在后,最基本的差别是数字没有反复的,而如今的数据中数字是有反复的 比方: 玫瑰园1楼 玫瑰园2楼 兴帝家园1楼 兴帝家园2楼 假设是仅仅抽取数字进行排序 会造成两个1楼在前 两个2楼在后 而想要的结果是先按同样的名字排序 再按楼号排序 第一步:截取汉字 仅仅截取正則表達式中汉字首次出现的位置(下同) REGEXP_SU…
Oracle中如何判断字符串是否全为数字 学习了:http://www.cnblogs.com/zrcoffee/archive/2012/12/11/2812744.html 本文介绍了判断字符串是否全为数字的4种办法,另外还介绍了一个translate函数的小技巧,从任意字符串中提取数字(调用2次translate函数).这个办法是一个公司同事发现的,用起来很方便,但理解起来稍有点困难.1.通过ASCII码判断是否数字,介于[48, 57]之间,(ascii('0') = 48, ascii…
v$session中Command的数字含义. 1 CREATE TABLE 2 INSERT 3 SELECT 4 CREATE CLUSTER 5 ALTER CLUSTER 6 UPDATE 7 DELETE 8 DROP CLUSTER 9 CREATE INDEX 10 DROP INDEX 11 ALTER INDEX 12 DROP TABLE 13 CREATE SEQUENCE 14 ALTER SEQUENCE 15 ALTER TABLE 16 DROP SEQUENCE…
select REGEXP_REPLACE('字符串中包含的数字123,提取后就是123', '[^0-9]', '') from dual;…
主要分为三块介绍(单值函数.聚合函数.列表函数) 一.单值函数(比较简单,看一遍基本也就理解记住了) 1.基本加减乘车没有什么可说的,只需要注意一点,任何值与null一起运算 ,结果都为null,因为null代表着未知值,与null进行加减乘除运算得到的还是未知值,返回的结果还是null. select 3+null ,3-null,3*null,3/null from dual --执行结果都是null nvl(cgl,0)-nvl(cglcom,0)  先置为0再进行计算 2.nvl和nvl…