sql判断一个字符串是否是数字?

sql判断一个字符串是否是数字


明月笑刀无情
浏览 2219回答 3
3回答

蓝山帝景

如果是ORACLE,可以:select translate(str,'x1234567890','x') from dual,如果得到的是空则是数字,如果不是空,则是带字符串的。

慕哥6287543

用oracle的正则函数regexp_instr就行了。select regexp_instr('65','[1-9][0-9]?$') from dual ;1234567891011121314151617sys@STARTREK> select regexp_instr('65','[1-9][0-9]?$') from dual ;  REGEXP_INSTR('65','[1-9][0-9]?$')---------------------------------                                1  sys@STARTREK> select regexp_instr('0','[1-9][0-9]?$') from dual ;  REGEXP_INSTR('0','[1-9][0-9]?$')--------------------------------                               0  sys@STARTREK> select regexp_instr('1d','[1-9][0-9]?$') from dual ;  REGEXP_INSTR('1D','[1-9][0-9]?$')---------------------------------                                0

Cats萌萌

如果是sqlserver的话,直接有 ISNUMERIC 函数的如果输入表达式的计算值为有效的整数、浮点数、money 或 decimal 类型时,ISNUMERIC 返回 1;否则返回 0
打开App,查看更多内容
随时随地看视频慕课网APP