У меня есть столбец Имя в таблице сотрудников. Я хочу видеть имена всех сотрудников, которые имеют символы, отличные от алфавита. Какой лучший запрос для этого?
Другое требование : вернуть все имена, в которых нет ни одного алфавита.
Примечание: все, что отличается от английского алфавита, не считается алфавитом в этом сценарии. В тексте «Андре Мюллер» в моем сценарии есть неалфавитные символы.
DECLARE @Employee TABLE (EmpID INT, EmpName VARCHAR(1000))
INSERT INTO @Employee (EmpID, EmpName) VALUES(1,'André Müller')
INSERT INTO @Employee (EmpID, EmpName) VALUES(2,'Lijo')
INSERT INTO @Employee (EmpID, EmpName) VALUES(3,'88')
INSERT INTO @Employee (EmpID, EmpName) VALUES(4,'--@#')
INSERT INTO @Employee (EmpID, EmpName) VALUES(5,'é ü')
Работают как Aproach 1, так и Approach 2 (спасибо людям, которые разместили ответы). Что из них лучше и почему?
--Aproach 1
SELECT * FROM @Employee WHERE EmpName COLLATE Latin1_General_CI_AS LIKE '%[^a-z]%'
--Approach 2
SELECT * FROM @Employee WHERE EmpName LIKE '%[^a-zA-Z]%'
Спасибо
Lijo