Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Скалярная функция для строки с почтовым адресом  [new]
DenisKlementiev
Member

Откуда:
Сообщений: 62
Нужна скалярная функция возвращающая строку почтового адреса.
Ничего кроме перебора в CASE кучи возможных вариантов в голову не пришло.
Возможно ли переделать данную функцию, так чтобы параметры проверялись на NULL, а затем не пустые складывались в строку с адресом для переменной.
Входные параметры:
(@ПочтовыйИндекс nvarchar(50),
@Область nvarchar(90),
@Район nvarchar(50),
@IDГород nvarchar(50),
@Город nvarchar(50),
@КодУлица nvarchar(11),
@Улица nvarchar(50),
@Дом nvarchar(50),
@Корпус nvarchar(50),
@Строение nvarchar(50),
@Квартира nvarchar(50),
@ТелефонМобильный nvarchar(50))

Из них могут быть NULL:
@Район nvarchar(50),
@Дом nvarchar(50),
@Корпус nvarchar(50),
@Строение nvarchar(50),
@Квартира nvarchar(50),
@ТелефонМобильный nvarchar(50)


AS
BEGIN
DECLARE @Адрес nvarchar(350)
SET @Адрес= CASE

WHEN @ПочтовыйИндекс IS NOT NULL AND @Область IS NOT NULL AND @Район IS NOT NULL AND @IDГород IS NOT NULL AND
@Город IS NOT NULL AND @КодУлица IS NOT NULL AND @Улица IS NOT NULL
AND @Дом IS NOT NULL AND @Корпус IS NOT NULL AND @Строение IS NOT NULL AND @Квартира IS NOT NULL AND
@ТелефонМобильный IS NULL

THEN @ПочтовыйИндекс +' '+ @Область +' район'+ @Район +' '+ @IDГород +' '+ @Город +' '+ @КодУлица+' '+ @Улица+' '+
@Дом+' '+ @Корпус+' '+ @Строение+' '+ @Квартира+' '+ @ТелефонМобильный

И т.д.

END;
RETURN @Адрес
END
8 ноя 11, 18:23    [11565783]     Ответить | Цитировать Сообщить модератору
 Re: Скалярная функция для строки с почтовым адресом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
isnull
8 ноя 11, 18:27    [11565797]     Ответить | Цитировать Сообщить модератору
 Re: Скалярная функция для строки с почтовым адресом  [new]
DenisKlementiev
Member

Откуда:
Сообщений: 62
Не понял, куда ставить то?
8 ноя 11, 18:31    [11565822]     Ответить | Цитировать Сообщить модератору
 Re: Скалярная функция для строки с почтовым адресом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
Вы уже прочли в документации что делает isnull ?
8 ноя 11, 18:32    [11565828]     Ответить | Цитировать Сообщить модератору
 Re: Скалярная функция для строки с почтовым адресом  [new]
DenisKlementiev
Member

Откуда:
Сообщений: 62
Большое Спасибо, про ISNULL не знал.
8 ноя 11, 18:36    [11565839]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить