zoukankan      html  css  js  c++  java
  • ORACLE 判断是否为数字类型

    接到一个需求要判断一个varchar2字段的值是否是数字,如果不是数字,就置为null,如果是数字,就使用to_number把它变成num类型。

    找到两种办法。

    方法一:

    用trim和translate来判断,这种方法比较麻烦,代码如下:

    SELECT
        TO_NUMBER(t.ITM_VAL) test
        ,t.ITM_VAL
    from EMR.T_REC t where trim(translate(t.ITM_VAL,'0123456789.',' ')) is NOT NULL

    方法二:

    使用替换方法,把非数字和小数点的字符变为空,然后使用to_number,代码如下:

    SELECT
        TO_NUMBER(REGEXP_REPLACE(t.ITM_VAL,'[^0-9.]','')) test
        ,t.ITM_VAL
    from EMR.T_REC t
  • 相关阅读:
    codevs1080线段树练习
    NOIP2015 子串
    codevs1204 寻找子串位置
    字符串匹配的KMP算法
    TYVJ1460 旅行
    基础
    搜索
    二叉排序树
    二叉树
    poj
  • 原文地址:https://www.cnblogs.com/cykfory/p/12091521.html
Copyright © 2011-2022 走看看