Я весь день разбираюсь с кодом t-sql для поиска почтового индекса. Я использую wild card для соответствия концу строки. Однако он не работает. Он работает только тогда, когда вся строка введена правильно.T SQL-подстановочный знак для почтового индекса
Вот код, который у меня есть.
IF (@MailFiveDigitZip <> '')
BEGIN
SET @Conditions = @Conditions + ' AND (cast(MailFiveDigitZip AS Varchar(5)) LIKE cast(@MailFiveDigitZip AS Varchar(5)) + ''%'')'
END;
@MailFiveDigitZip - это параметр, и это символ (5). Он добавляется к переменной, которая содержит несколько условий поиска. У меня есть другой код, похожий на это, на самом деле идентичный, за исключением другого кода, имеет индекс zip, который является nullable int, и поэтому условия if: @zipCode не равно null. Тем не менее, мой другой код работает и возвращает значения даже для входных данных, таких как «44» и «543», он делает то, что предполагает дикая карта, и находит все строки, начинающиеся с входного значения.
Любая помощь или предложения будут оценены.
FYI - почтовые индексы не должны храниться как ints, так как существуют почтовые индексы, начинающиеся с 0 – Kritner
- это sql-сервер? Он выглядит sql-servery - вы должны пометить вопрос соответствующими RDBMs – Kritner
Почему вы не добавляете содержимое переменной в динамическое состояние как литерал? –