Oracle中怎么判断一列数据是否为数字类型, 没有isnumber()这样的函数, to_number()的时候又会出错, 想找到是那行数据导致出现to_number()出问题了, 怎么办?

我简单的google了以下, 看到:

简单的SQL:

select aa.rowid, instr(translate(aa.a,

'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',

'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'),'X') as IS_A

FROM aa

对于一列中的其他特殊字符就得自己添加到Z后面了,要理解上面SQL的含义先理解几个Oracle函数了:

---------------

translate( string1, string_to_replace, replacement_string )

string1 is the string to replace a sequence of characters with another set of characters.

string_to_replace is the string that will be searched for in string1.

replacement_string - All characters in the string_to_replace will be replaced with the corresponding character in the replacement_string.

Applies To:

* Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

For example:

translate('1tech23', '123', '456);     would return '4tech56'

translate('222tech, '2ec', '3it');     would return '333tith'

---------

instr( string1, string2 [, start_position [, nth_appearance ] ] )

string1 is the string to search.

string2 is the substring to search for in string1.

start_position is the position in string1 where the search will start. This argument is optional. If omitted, it defaults to 1. The first position in the string is 1. If the start_position is negative, the function counts back start_position number of characters from the end of string1 and then searches towards the beginning of string1.

nth_appearance is the nth appearance of string2. This is optional. If omitted, it defaults to 1.

Note:

If string2 is not found in string1, then the instr Oracle function will return 0.

Applies To:

* Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

For example:

instr('Tech on the net', 'e')     would return 2; the first occurrence of 'e'

instr('Tech on the net', 'e', 1, 1)     would return 2; the first occurrence of 'e'

instr('Tech on the net', 'e', 1, 2)     would return 11; the second occurrence of 'e'

instr('Tech on the net', 'e', 1, 3)     would return 14; the third occurrence of 'e'

instr('Tech on the net', 'e', -3, 2)     would return 2.

自己简单的测试了以下:

select to_number('3 3') from dual;

也会出问题了, 就将空格添加到上面的SQL中就可以了。

select aa.rowid, instr(translate(aa.a,

'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ',

'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'),'X') as IS_A

FROM aa

阅读(4107) | 评论(1) | 转发(0) |

oracle中isnumber函数,Oracle 函数isnumber问题相关推荐

  1. 在oracle中游标的操作,Oracle中的游标和函数详解

    Oracle中的游标和函数详解 1.游标 游标是一种 PL/SQL 控制结构:可以对 SQL 语句的处理进行显示控制,便于对表的行数据 逐条进行处理. 游标并不是一个数据库对象,只是存留在内存中. 操 ...

  2. oracle中的to_number,Oracle中to_number()函数的用法

    to_number()函数是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式. 1.to_number()函数可以将char或varchar2类型的str ...

  3. oracle中110个常用函数

    主要介绍了oracle中110个常用函数,方便大家编写出更强大的sql语句,需要的朋友可以参考下. ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,a ...

  4. Oracle中nvl()与nvl2()函数详解

    Oracle中nvl()与nvl2()函数详解: 函数nvl(expression1,expression2)根据参数1是否为null返回参数1或参数2的值: 函数nvl2(expression1,e ...

  5. oracle 中的pi,Oracle中实现圆周率计算(一)

    今天两个同事用JAVA实现圆周率一百位小数的实现.一个同事问我要不要试试,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,于是打算用ORACLE实现. 其实Oracle中使用现成的函数 ...

  6. oracle中rollback用法,Oracle中SAVEPOINT和ROLLBACK用法

    savepoint是事务内部允许部分rollback的标志符.因为事务中对记录做了修改,我们可以在事务中创建savepoint来标识不同的点.如果遇到错误,就可以rollback到不同的点或直接回来事 ...

  7. oracle中or的替函数,Oracle常用内置Or自定义函数-SQL宝典

    一 .函数使用说明 1.NLSSORT(列名,排序规则) 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M   按照部首(第一顺序) ...

  8. oracle正则判断身份证号,Oracle中查询使用正则表达式函数REGEXP

    Oracle中的Like操作符使用"_"和"%"作为通配符,使用就像这样: Java代码 SELECT name FROM test_like WHERE na ...

  9. Oracle中的within,Oracle函数 --聚合函数中的语法within group

    Oracle的聚合函数一般与group by 联合使用,但一般通过group by 聚合 但某些聚合函数会后跟 WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [ ...

  10. oracle中的greatest,ORACLE 内置函数之 GREATEST 和 LEAST(转)

    Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...

最新文章

  1. ef mysql 插件_EF Core 插件 —— ToSql
  2. NetBeans 时事通讯(刊号 # 117 - Sep 16, 2010)
  3. android x86 vulkan,【图片】预告贴,准备同步AndroidIA源码,貌似支持Vulkan【androidx86吧】_百度贴吧...
  4. Ubuntu Docker安装
  5. 编写AXI4协议读写BRAM并仿真验证
  6. DCMTK:全局类型和常量定义
  7. 【南京】.Net 开源基础服务线下技术交流会
  8. unity5, custom PBS shader
  9. 为啥浏览器中的对象和w3c不一样??
  10. C#中@字符的三个作用
  11. HTTP 500 - 内部服务器错误的解决
  12. 创建简单的静态库和动态库
  13. Intellij IDEA创建maven项目无java文件问题
  14. 关于RDP报表工具参数配置
  15. windows2008 FTP下载“当前的安全设置不允许”的解决方法
  16. Apple 公司开发者账号注册
  17. 光敏电阻型号怎么命名和其主要参数
  18. libpng库的使用讲解
  19. 女生,你也可以IT!
  20. 关于路缘石滑模机在施工中工艺的一些普及

热门文章

  1. 软件测试之测试的分类
  2. 普林斯顿微积分读本05第四章--求解多项式的极限问题
  3. l298n电机哪一端为正_L298N电机驱动模块原理
  4. Tomcat的starup.bat报错问题解决
  5. Win11 可能解决Tomcat文件bin中startup打不开闪烁进不去的方法
  6. PADS2007_教程之PADS LAYOUT
  7. 07. Java中的类和对象(嗜血无敌战神破解版)
  8. CSS制作一个半透明边框
  9. 计算机应用基础试题及答案数据库,数据库原理试题及答案.doc
  10. 论软件产品的易用性(一)