我有一列称为studentID,但是我有数百万条记录,并且应用程序以某种方式在该列中输入了一些任意文本。

如何搜寻:

SELECT *
  FROM STUDENTS
 WHERE STUDENTID CONTAINS TEXT

最佳答案

不考虑数据库建模问题。
我想你可以尝试

SELECT * FROM STUDENTS WHERE ISNUMERIC(STUDENTID) = 0

但是ISNUMERIC对于看似数字的任何值(包括-1.0e5)返回1

如果要排除仅数字的学生证,请尝试类似
SELECT * FROM STUDENTS WHERE STUDENTID LIKE '%[^0-9]%'

关于sql - 使用SQL检查一列是否包含文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17322228/

10-15 21:02