Проверьте, содержит ли столбец текст с использованием SQL

У меня есть столбец, который называется studentID, но у меня есть миллионы записей, и каким-то образом приложение вводит некоторый произвольный текст в столбце.

Как искать:

SELECT *
FROM STUDENTS
WHERE STUDENTID CONTAINS TEXT

Ответ 1

Остальные проблемы моделирования базы данных. Я думаю, вы можете попробовать

SELECT * FROM STUDENTS WHERE ISNUMERIC(STUDENTID) = 0

Но ISNUMERIC возвращает 1 для любого значения, которое кажется числовым, включая такие вещи, как -1.0e5

Если вы хотите исключить студентки только для цифр, попробуйте что-то вроде

SELECT * FROM STUDENTS WHERE STUDENTID LIKE '%[^0-9]%'

Ответ 2

Попробуйте конструкцию LIKE, например. (предполагается, что StudentId - Char, VarChar и т.д.)

  select * 
    from Students
   where StudentId like '%' || TEXT || '%' -- <- TEXT - text to contain

Ответ 3

Просто попробуйте ниже script:

Ниже код работает только в том случае, если тип данных студента-столбца - varchar

SELECT * FROM STUDENTS WHERE STUDENTID like '%Searchstring%'

Ответ 4

Попробуйте следующее:

SElECT * FROM STUDENTS WHERE LEN(CAST(STUDENTID AS VARCHAR)) > 0

С этим вы получаете строки, в которых STUDENTID содержит текст

Ответ 5

Предположим, что STUDENTID содержит некоторые символы или цифры, которые вы уже знаете, то есть "searchstring", тогда приведенный ниже запрос будет работать для вас.

Вы можете попробовать это:

select * from STUDENTS where CHARINDEX('searchstring',STUDENTID)>0

Я думаю, что это самый быстрый и простой.