回答

收藏

SQL Server:如何测试字符串是否只有数字字符

技术问答 技术问答 180 人阅读 | 0 人回复 | 2023-09-14

我正在SQL Server
/ M, C; k9 e% ^2 _) X5 |2008中工作。我正在尝试测试字符串(varchar)是否只有数字字符(0-9)。我知道IS_NUMERIC函数会产生虚假结果。(我的数据可能带有$符号,不应通过测试。)因此,我避免使用该功能。8 e1 ]. x# [$ e1 G* y0 V8 l( O
我已经有一个测试,看一个字符串是否有任何非数字字符,即( |. F# ]/ A5 W7 t
some_column LIKE '%[^0123456789]%'
* W: u8 j6 n! n" P" G7 P  K我认为唯一的数字测试将是类似的东西,但是我在空白处。有任何想法吗?
; W7 K/ |( z7 a& e& T1 L) c( F                % p- ~5 [. T9 L0 q0 Z: I
解决方案:( k4 y) _/ L+ b$ _
               
: g7 J8 q4 Y- h& Z: b' C/ _+ R1 j( [: u* w
- X$ M9 [9 ~$ g7 z  g
                使用 Not Like& U$ `0 ^. f5 V7 Y; f& H$ c
where some_column NOT LIKE '%[^0-9]%': D. m$ K; G$ s% {
演示版
# m8 ^1 |& D8 o4 t1 i) Rdeclare @str varchar(50)='50'--'asdarew345'/ x0 o7 M3 p* v' t
select 1 where @str NOT LIKE '%[^0-9]%'
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则