Oracle 中如何判断一个字符串是否为数字
来源:互联网 发布:美女种田网络图片 编辑:程序博客网 时间:2024/05/11 19:25
CREATE OR REPLACE FUNCTION Is_Number (
str_ VARCHAR2 ) RETURN VARCHAR2
IS
num_ NUMBER;
BEGIN
num_ := to_number(str_);
RETURN 'Y';
EXCEPTION
WHEN OTHERS THEN
RETURN 'N';
END Is_Number;
/
SQL> select Is_Number('12345') from dual;
IS_NUMBER('12345')
--------------------------------------------------------------------------------
Y
SQL> select Is_Number('123.45') from dual;
IS_NUMBER('123.45')
--------------------------------------------------------------------------------
Y
SQL> select Is_Number('123a') from dual;
IS_NUMBER('123A')
--------------------------------------------------------------------------------
N
SQL>
方法二:通过 translate函数来实现
SELECT nvl2(translate('123','/1234567890','/'),'CHAR','NUMBER')
FROM dual ;
SQL> SELECT nvl2(translate('123','/1234567890','/'),'CHAR','NUMBER')
2 FROM dual;
NVL2(TRANSLATE('123','/1234567
------------------------------
NUMBER
SQL>
SQL> SELECT nvl2(translate('123A','/1234567890','/'),'CHAR','NUMBER')
2 FROM dual;
NVL2(TRANSLATE('123A','/123456
------------------------------
CHAR
SQL>
在实际使用过程中,可以根据情况选用这两种方法。第一种方法的好处是可以判断带小数的数字,而第二种方法只能判断整数。因为如果 translate 函数如果写成 translate('123A','/1234567890.','/') 这种形式是会有问题的。
SQL> select Is_Number('123.45.6') from dual;
IS_NUMBER('123.45.6')
--------------------------------------------------------------------------------
N
SQL>
SQL> SELECT nvl2(translate('1234.5.6','/1234567890.','/'),'CHAR','NUMBER')
2 FROM dual;
NVL2(TRANSLATE('1234.5.6','/12
------------------------------
NUMBER
SQL>
- Oracle 中如何判断一个字符串是否为数字
- Oracle 中如何判断一个字符串是否为数字
- Oracle 中如何判断一个字符串是否为数字
- oracle如何判断一个字符串是否为数字或日期
- oracle中如何判断字符串是否全为数字,以及从任意字符串中提取数字
- java cloneable以及如何判断一个字符串是否为数字。
- oracle中判断一个字符串是否全部为数字的函数
- oracle中判断一个字符串是否全部为数字的函数
- oracle中判断一个字符串是否全部为数字的函数-translate
- Java中怎样判断一个字符串是否为数字
- java中判断一个字符串是否为整型数字
- c#中如何判断字符串是否为数字
- c#中如何判断字符串是否为数字
- c#中如何判断字符串是否为数字
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- C discovery
- 远程漏洞扫描实现云安全
- DB2字段类型研究 --- INTEGER或INT(大整型)
- ASP.NET 2.0 解决中文乱码问题
- 学习...
- Oracle 中如何判断一个字符串是否为数字
- ArcEngine 渲染的使用
- 做校内app半年的经验分享
- DB2字段类型研究 --- SMALLINT (小整型)
- C++ 中的Singleton 类的实现
- 一个还不错的gridview 样式
- access数据库加密
- C#创建COM的实例
- SQL server成批注入的方法