- 浏览: 1045523 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
nieanan:
感谢,很有帮助。
eclipse 改变JAVA_HOME路径 -
Orange_killer:
写的什么东西,文不对题
Hibernate Search大数据量手动建立索引 -
xiaoasha:
org.eclipse.equinox.servlet.api ...
《OSGI实战》遇到的问题 -
powertech:
写的挺细,有用!
SyntaxError: Non-ASCII character Python、Unicode和中文 -
huang_yong:
public class XMLUtil {
pri ...
XStream 去除生成的XML节点的class="list"
Org: http://topic.csdn.net/t/20031225/11/2601362.html
没有。如果是在pl/sql ,使用to_char() ,非法的可以触发exception
==============================================
那有点惨,我想在SELECT中取某一字段的值,如果它不是数字(空,''或者字母)的话就返回0,数字的话就返回本值,我不想触发那个EXCEPTION,有没有什么简单的方法?
===============================================
可以这样做
ucase(fieldname)=lcase(fieldname)
这样就能得到是数字了,
如果不等就说明里面不仅仅有数字
就不能转换
=============================================
没有
不行就用ascii码
=============================================
用ASCII来判断,数字的大小写是相等的,字符就不等:
==============================================
我这样写执行的时候还是报错说无效的数字,
SELECT TO_NUMBER(decode(decode(lower(N4),upper(N4),1,0),1,N4,0)) FROM TABLE
其中N4是我的字段名,哪位大侠帮写一个,十分感谢,比较急!!
==============================================
你上面的代码问题呀?!
=======================================================================
SQL> SELECT TO_NUMBER(decode(decode(lower(sal),upper(sal),1,0),1,sal,0)) FROM my
emp;
TO_NUMBER(DECODE(DECODE(LOWER(SAL),UPPER(SAL),1,0),1,SAL,0))
------------------------------------------------------------
1
2
3
4
5
6
4
5
6
11
11
TO_NUMBER(DECODE(DECODE(LOWER(SAL),UPPER(SAL),1,0),1,SAL,0))
------------------------------------------------------------
0
0
0
已选择14行。
已用时间: 00: 00: 00.00
SQL> select sal from myemp;
SAL
----------
1
2
3
4
5
6
4
5
6
11
11
SAL
----------
a6
6b
a6
已选择14行。
已用时间: 00: 00: 00.00
=========================================
可能是我的数据库中有空值,或者如果只有一个空格的话是不是就出错了?
=========================================
那加上这两种情况判断的话是不是语句写的就很复杂,我们老大非要我用存存储过程实现,哪位能写一个IS_NUMBER之类的方法让我调用一下就OK?
同时非常感谢楼上做的测试!!
=========================================
可能是“可能是我的数据库中有空值”,那就家NVL函数:
SELECT TO_NUMBER(decode(decode(lower(nvl(sal,0)),upper(nvl(sal,0)),1,0),1,nvl(sal,0),0))
FROM myemp;
=========================================
谢谢lianhg,不过觉得那样也太。。。了
刚刚写了一个函数,这样就省事多了,结帐了
create or replace function PARSE_NUMBER
(VAR_VALUE IN VARCHAR)
return NUMBER is
Result NUMBER;
begin
Result := TO_NUMBER(VAR_VALUE);
return Result;
EXCEPTION WHEN others THEN
begin
return 0;
end;
end PARSE_NUMBER;
个人觉得最后那个函数比较好
发表评论
-
MySQL 5.1 无法启动 1067 错误解决方法
2010-07-13 23:06 2643MySQL 5.1 无法启动 1067 错误解决方法 这两天 ... -
连接VMWare上的oracle
2010-07-05 10:55 1607在vmware上面安装了一个oracle,主机却怎么也连接不 ... -
oracle-merge用法详解
2010-01-26 14:10 1083原文:http://blog.chinaunix.net/u/ ... -
数据库与数据仓库的区别
2010-01-19 12:38 1301简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 ... -
oracle 判断字段中的中文的方法
2010-01-18 15:30 5198判断字段中的中文的方法,与oracle的字符集有关, AL32 ... -
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界
2010-01-11 10:04 2727想要造一点随机数据,日期等于ID%30,结果却碰到了:“从 ... -
oracle 与 SQL Server 利用select 建表和update的区别
2010-01-05 14:47 2403Oracle: 建表可以使用: crea ... -
筛选数据库重复记录
2010-01-05 11:07 2697请问以下两个功能如何实现? (1)如何选出重复的 ... -
调用oracle10g 存储过程利用sys_refcursor返回结果集
2009-12-23 12:16 4904SQL> create table test 2 ... -
ORACLE存储过程update不成功的另一个原因
2009-12-11 10:45 5266今天,一个存储过程遇到了一个奇怪的问题,没有任何的出错信息,但 ... -
oracle存储过程调用
2009-12-02 15:24 2702今天写了一个存储过程,发现PL/SQL里面这个存储过程图标上老 ... -
聚族索引、非聚族索引、组合索引的含义和用途
2009-11-26 10:48 2348一、什么是索引 索引可以理解为我们小时候使用 的汉语字典的 ... -
mssql附加数据库后出现“对象名XXXX无效”
2009-11-19 16:48 5382mssql数据库服务器进行硬件升级后,采用附加数据库的方式还原 ... -
换种方法,提高left join查询的效率
2009-09-28 15:11 4535表之间使用联结查询时,以left join为例,当联结的表较多 ... -
char,varchar,nvarchar有什么区别
2009-09-25 13:08 1391一 、 nchar 和 nvarc ... -
Oracle索引与where
2009-09-24 12:24 1336一个ORACLE查询中,有N多的查询条件,要把:一次可以缩小范 ... -
大数据量分页存储过程效率测试附代码
2009-09-24 11:17 1590原文地址:http://www.cnblogs.com/Jos ... -
SQLServer 实现rownum 的功能
2009-09-10 10:39 7911方法1: with temp as ( sel ... -
ORACLE中用rownum分页并排序的SQL语句
2009-09-10 10:37 1606以前分页习惯用这样的SQL语句: select * ... -
Oracle触发器介绍
2009-09-07 09:25 1438语句级触发器我们先看 ...
相关推荐
oracle里面没有sql server里面的类似函数is_number来判断能否转换为数字,怎么办?本文给出答案。
oracle通过sql实现字符串转数字oracle函数,可用于字符串的最终排序
ORACLE常用数值函数、转换函数、字符串函数介绍
突然想到Oracle有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样表示字符串里面含有非ASCII字符,这样得到结果。后写出来测试了一下,确实可行,5500万记录10秒钟扫描结束。以下是测试用例: ...
最近在oracle 中用到拆分字符串返回数组,一直头痛,因为在 oracle 中没有类似java中有split 函数 ,所以要自己写。好不容搜到一个。那网上是到处都是这个代码。怎么找都是这个方法,我就用了。这个方法如下: ...
介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat
学习ORACLE常用数值函数转换函数字符串函数介绍.pdf
ORACLE常用数值函数、转换函数、字符串函数介绍.pdf
今天有一个同事的数据迁移程序有个问题,没有考虑中文编码字符,由于迁移的表有几千万数据,但是有中文的记录集很少,问我...突然想到Oracle有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样就表示
ORACLE常用数值函数、转换函数、字符串函数介绍[文].pdf
本文并不准备介绍全部的oracle函数,当前情势下,俺也还没这个时间,需要学习的东西太多了,要把多数时间花在学习经常能用上的技术方面:),所以如果是准备深入了解所有oracle函数的朋友,还是去关注:Oracle SQL ...
Oracle SQL 函数进行BLOB转换Varchar2
SOUNDEX 函数可用来查找声音相似的字符串但SOUNDEX 函数对数字">对字符串操作的函数 答:ASCII 函数返回字符表达式最左端字符的ASCII 码值 CHR 函数用于将ASCII 码转换为字符 如果没有输入0 255 之间的ASCII 码值...
和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。 比如执行下面的SQL语句: 代码如下:SELECT ‘工号为’||FNumber||’的员工姓名为’||FName FROM T_...
找了网上很多资料,都没有详细的做法有的还很复杂,自己写了个分割函数,通过直接查询就能分割多行,很方便。
在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 出现的位置,默认为1 SQL> select instr('oracle traning','ra',1,2) instring ...
20:30', 'hh24:mi:ss'),如果你要将这导出的数据在oracle客户端中执行,应该是没什么问题的,但是如果要在如Sybase中执行,那可就有困难了,因为Sybase中to_date()函数,且也不需要那么复杂,而只需要用字符串直接...
Oracle数据库对sdo_geometry空间坐标进行转换
43.CONVERT(c,dset,sset) 将源字符串 sset从一个语言...44.HEXTORAW 将一个十六进制构成的字符串转换为二进制 45.RAWTOHEXT 将一个二进制构成的字符串转换为十六进制 46.ROWIDTOCHAR 将ROWID数据类型转换为字符类型