怎么样查找字段中含有非数字字符的记录?(SQL2000)

时间:2022-09-17 16:15:29
temp表
 ID
------
12.32
12.36
12.36
15.362
1562其中
15as
0.23
0.265
NULL
NULL
1226.3

id字段是varchar

希望能用一个SQL查出
  ID
——————
  1562其中
  15as
  NULL
  NULL

这样的SQL如何写?

10 个解决方案

#1


select * from table where not isnumeric(id)

#2


select * from temp id not in (like '[0-9]'

#3


select * from temp id not in (like '[0-9]')

#4


楼上的不对,赫赫
小数点怎么办?

#5


to  microlong(微龙)

各位表的字段是varchar,其中还有小数点,你的语句有点问题?

#6


select idnumeric(id) from table

#7


SELECT * FROM TableName 
WHERE PATINDEX('%[^0-9.]%',ID)>0

#8


1.select isnumeric(id) from table
2.select * from table where id like ('%[0-9]%')

#9


最好用isnumeric函数。

飘香兄的语句有些小bug。
要是有这样的字符呢:
'123.45.678'    --两个小数点

#10


select * from table where isnumeric(id) <> 1

#1


select * from table where not isnumeric(id)

#2


select * from temp id not in (like '[0-9]'

#3


select * from temp id not in (like '[0-9]')

#4


楼上的不对,赫赫
小数点怎么办?

#5


to  microlong(微龙)

各位表的字段是varchar,其中还有小数点,你的语句有点问题?

#6


select idnumeric(id) from table

#7


SELECT * FROM TableName 
WHERE PATINDEX('%[^0-9.]%',ID)>0

#8


1.select isnumeric(id) from table
2.select * from table where id like ('%[0-9]%')

#9


最好用isnumeric函数。

飘香兄的语句有些小bug。
要是有这样的字符呢:
'123.45.678'    --两个小数点

#10


select * from table where isnumeric(id) <> 1