Member 10379103 Ответов: 2

Строка Sql не печатается, если один параметр равен null


Вот мой код:

SET @MyParameterEntry = 'My first parameter is:   ' + @P1  + ' My second parameter is:   ' + @P2 + 'My third parameter is:  ' + @P3


Print @MyParameterEntry 

Когда мой параметр P3 равен нулю, ни один из моих других параметров не отображается - даже мой "мой первый параметр:" словоблудие.

Этого не происходит, и я обычно могу успешно передать нулевые или пустые параметры и все еще иметь свою другую печать словоблудия. Если я по умолчанию использую свой параметр P3 для определенной строки,то отображается вся переменная @MyParameterEntry.

Что вызывает это и как я могу решить это так, чтобы весь мой @MyParameterEntry отображался независимо от того, когда мой параметр P3 равен нулю?

Что я уже пробовал:

Google search, MSDN, по сравнению с другим кодом, который работает.

2 Ответов

Рейтинг:
1

Member 12999924

Привет,

Пожалуйста, попробуйте это:-
Использование Concat в SQL Server
Объявить @Р1 тип varchar(10),@P2-это тип varchar(10),@P3, что тип varchar(10),@MyParameterEntry тип varchar(120)

SET @P1= 'W'
SET @P2= 'E'
SET @P3 =NULL


Набор @MyParameterEntry = функция concat( 'моя первая параметра:' , @Р1 моей второй параметр: ', @Р2 , 'мой третий параметр:' , @Р3)


Print @MyParameterEntry


Рейтинг:
0

RossMW

Добавь

isnull(@P3,'')


Таким образом, пустая строка передается, а не нулевое значение. Может быть, безопаснее сделать это по всем параметрам.


Karthik_Mahalingam

5