Проверьте, содержит ли столбец текст с использованием 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