Хорошо, сначала я предполагаю, что у вас есть таблица с отображением почтовых индексов для названий мест.
Давайте назовем эту таблицу ' почтовый индекс ' со столбцами ' почтовый индекс ' и ' почтовый индекс '. Оба они типа чар.
Тогда ... что бы вы ни делали, убедитесь, что ввод от пользователя не является частью динамического sql. Убедитесь, что это параметр . В противном случае вы будете приглашать к внедрению SQL-атак, которые могут действительно испортить ваш день. Это важно .
Наш пользовательский ввод находится в @ textboxstring .
Учитывая это, вы можете получить почтовый индекс и почтовое место следующим образом:
select @textboxstring = RTRIM(@textboxstring) + '%';
select postcode, postplace
from postcode
where postcode like @textboxstring or postplace like @textboxstring;
Обратите внимание, что я изменяю @textboxstring, чтобы получить совпадение с подстановочным знаком с like
без использования динамического sql.
Если почтовый индекс был целым числом, вам нужно преобразовать ввод в int перед выполнением sql. Таким образом, с @textboxint, вы можете сделать это:
select @textboxstring = RTRIM(@textboxstring) + '%';
select postcode, postplace
from postcode
where postcode = @textboxint or postplace like @textboxstring;
Да, и вам нужно учесть, что ваш поиск может иметь несколько результатов. Вы, вероятно, хотите только первый ряд.