В базе данных SQL Server 2012 я хочу найти все записи, где lastname
не является, по крайней мере, «частью» столбца teacherD
.
Следующий SQL работает примерно на 90%время:
SELECT lastname, teacherD
FROM test.dbo.table145
WHERE CHARINDEX(LOWER(lastName), LOWER([teacherD])) = 0
Проблема в том, что в столбце teacherD
есть специальные символы рядом со временем.Приведенный выше SQL думает, что есть разница.
Вот примеры, где есть проблемы
lastname teacherD
--------------------------------
smith smith, darell
smith smith-bright joan
Если возможно, пользователь также хотел бы проверить, содержится ли часть фамилии в teacherID
.Вот несколько примеров того, что я имею в виду:
lastname teacherD
------------------------------------
corbly-tip corbly, annette b
baker-hage cubs - bakerhage - 8c
king grie king, bev
Пожалуйста, не могли бы вы показать мне несколько SQL-запросов о том, как решить часть 1 и часть 2?