admin

SQL:如何查找varchar列的内容是否为数字?

sql

我表中的一列是varchar,应该只包含数字值(我无法将定义更改为number列)。因此我的SQL查询:

select to_number(col1) from tbl1 where ...

失败,因为对于某些行,列的内容不是数字。

select我可以用来查找这些行的查询是什么?

我正在使用Oracle数据库

我正在寻找类似is_number功能的东西。


阅读 270

收藏
2021-06-07

共1个答案

admin

oracle中没有本机“
isnumeric”功能,但是此链接向您展示如何制作一个:http : //www.oracle.com/technetwork/issue-
archive/o44asktom-089519.html

CREATE OR REPLACE FUNCTION isnumeric(p_string in varchar2)
RETURN BOOLEAN
AS
    l_number number;
BEGIN
    l_number := p_string;
    RETURN TRUE;
EXCEPTION
    WHEN OTHERS THEN
        RETURN FALSE;
END;
/
2021-06-07