`
sudongyuan
  • 浏览: 59341 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Oracle 中 isnumeric 的三种实现

 
阅读更多
Oracle 中 isnumeric 的三种实现

使用过 asp 的应该对 isnumeric 函数不会陌生,这是一个常用的判断入参是否为数字的函数。在 oracle 中没有现成的判断是否为数字函数,下面就用三种方法来实现:  


1. 利用 to_number
CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
   RETURN NUMBER
IS
   v_str FLOAT;
BEGIN
   IF str IS NULL
   THEN
      RETURN 0;
   ELSE
      BEGIN
         SELECT TO_NUMBER (str)
           INTO v_str
           FROM DUAL;
      EXCEPTION
         WHEN INVALID_NUMBER
         THEN
            RETURN 0;
      END;

      RETURN 1;
   END IF;
END isnumeric;

2. 利用 regexp_like
CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
   RETURN NUMBER
IS
BEGIN
   IF str IS NULL
   THEN
      RETURN 0;
   ELSE
      IF regexp_like (str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+)$')
      THEN
         RETURN 1;
      ELSE
         RETURN 0;
      END IF;
   END IF;
END isnumeric;

3. 利用 TRANSLATE
CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
   RETURN NUMBER
IS
   v_str VARCHAR2 (1000);
BEGIN
   IF str IS NULL
   THEN
      RETURN 0;
   ELSE
      v_str := TRANSLATE (str, '.0123456789', '.');

      IF v_str = '.' OR v_str = '+.' OR v_str = '-.' OR v_str IS NULL
      THEN
         RETURN 1;
      ELSE
         RETURN 0;
      END IF;
   END IF;
END isnumeric;

分享到:
评论

相关推荐

    一个可重用的VC++字符串处理函数集 IsNumeric——检查串是否为数字串 Upcase——变成大写串 right——从右到左截掉字符 Trim——截掉串尾的空格 空格 mid——截掉从某个起始位置到右边位置的字符

    一个VC++可重用的字符串处理函数集,... 压缩包中包含StringFunctins.h和StringFunctins.cpp是字符串处理函数的头文件和实现文件,main.cpp和main.h是一个控制台应用程序的头和实现,示范字符串处理函数的使用方法。

    Python中isnumeric()方法的使用简介

    在Python编程语言中,`isnumeric()`方法是一种非常实用且基础的字符串处理方法,它主要用于检查一个字符串是否全部由数字组成。这个方法对于进行数据验证、格式化以及数据清理等操作时极为有用。 #### 二、...

    Oracle数据库报错ORA-00904 标识符无效问题解决办法.txt

    Oracle数据库报错ORA-00904: 标识符无效问题解决办法,有可能是字段名或者表名写错了,也有可能是

    isnumeric检测是否为数字类型的asp代码

    为了实现这一功能,ASP提供了一个内置的函数——IsNumeric()。IsNumeric() 函数用于检测其参数是否为数值类型。如果参数最终的计算结果为数字,那么函数返回True,否则返回False。这一点在进行数据处理和验证时非常...

    oracle函数

    在Oracle数据库中,函数是处理数据的强大工具,用于执行各种数据操作,如数学计算、文本处理、日期时间操作等。以下是从给定的部分内容中提取并详细解释的Oracle常用函数知识点: ### 数学函数 1. **ABS(number)**...

    数字字符串求解三方法

    本文将介绍三种不同的方法来实现这一功能,并对它们的效率进行简单的评估。 #### 方法一:逐字符检查法 这种方法是最直观的一种实现方式,它通过遍历字符串中的每一个字符,判断这些字符是否都是数字字符。如果...

    vb 三角形面积源代码

    If Not IsNumeric(TextBox1.Text) Or Not IsNumeric(TextBox2.Text) Then MessageBox.Show("请输入有效的数字!") Return End If ' 获取输入值 base = CDbl(TextBox1.Text) height = CDbl(TextBox2.Text) ...

    isnumber:isnumeric 的增强版。-matlab开发

    与 isnumeric 类似,但检查长度/大小、NaN 和范围(空间)。 在 guis 中可能非常有用,用于测试用户编辑输入...... 句法: IS = ISNUMBER(V,N,SPACE) IS = ISNUMBER(V,SPACE) 输入: V 数据,ND 阵列N 所需的长度...

    delphi中如何判断是不是数字

    在Delphi中,你可以使用`TRegEx`类来实现。例如,检查字符串是否只包含数字,可以这样写: ```delphi uses System.RegularExpressions; function IsNumeric(const S: string): Boolean; begin Result := ...

    asp函数实现javascript里的escape函数和unescape函数功能

    JavaScript 中提供了 `escape` 和 `unescape` 函数来实现这一目标。然而,在ASP(Active Server Pages)环境中,这些函数并不可用。因此,为了兼容性和跨平台需求,有时我们需要在ASP中手动实现这些功能。 #### ...

    VB6.0从一串字符中只提取数字

    本教程将详细介绍如何在VB6.0中实现这个功能。 首先,我们需要了解VB6.0中的字符串处理函数。`Mid()`函数用于从字符串中提取子串,`InStr()`函数则用于查找指定字符或子串在字符串中首次出现的位置。为了从一串字符...

    计算器vb6实现代码

    If s1 = "" Or s2 = "" Or IsNumeric(s1) = False Or IsNumeric(s2) = False Then CharAdd = "" Exit Function End If ss1 = Left(s1, 1) ss2 = Left(s2, ``` 这段代码首先检查输入字符串是否为空或非数字,...

    python通过自定义isnumber函数判断字符串是否为数字的方法

    在这些示例中,前三个字符串均包含有效的数字格式,因此`isnumeric`返回`True`。最后一个字符串包含美元符号`$`,这不是数字字符集的一部分,所以函数返回`False`。 需要注意的是,`isnumeric`函数只能判断字符串...

    python入小课_代码实现30个.pdf

    在文件"python入小课_代码实现30个.pdf"中,整理了一系列常用的Python编程实现,涵盖了数据结构、算法、文件操作等多个领域,非常适合初学者入门学习。以下是根据文件中提到的30个常用Python实现的知识点总结。 1. ...

    VB中实现同一窗口的多个实例及控件的动态增减...

    在本篇文章中,我们将深入探讨如何在VB(Visual Basic)中实现同一窗口的多个实例以及控件的动态增减功能。这一技术对于那些需要在不同的模块或状态下展示不同界面的应用程序来说至关重要。通过本文,您将了解到具体...

    维插值算法与实现PPT学习教案.pptx

    1. **维插值算法**:在数学和计算机科学中,插值是一种构建新数据点的方法,这些新数据点位于已有数据点之间,使得新数据点的值尽可能接近于原有数据。在本PPT中,虽然具体提到的是1维插值算法,但1维插值是多维插值...

Global site tag (gtag.js) - Google Analytics