Можно ли объявить строчную переменную фиксированной длины с длиной 0? Случай использования предназначен для динамической генерации SQL. У меня есть пара gimmes сразу сОбъявить переменную фиксированной длины равную '' (пустая строка)
declare
@SqlQuery nvarchar(max) = '',
@lb nchar(1) = char(10),
@tab nchar(1) = char(9),
@sq nchar(1) = char(39), -- single quote
@dq nchar(2) = char(39) + char(39) -- 2x single quote
Для удобства чтения ниже в прок, я хотел бы включить «пустая строка» переменная @es
для isnull(Column, @es)
очистки, так что я не нарушу конкатенацию на null
значение. Однако я не добился большого успеха в этом. Попытки ниже. Любое понимание?
go
declare @EmptyString char(0) = '' ;
print 'empty string [' + @EmptyString + ']';
--Msg 1001, Level 15, State 1, Line 1
--Line 1: Length or precision specification 0 is invalid.
go
declare @EmptyString char(1) = '' ;
print len(@EmptyString); --0
print '[' + replicate(@EmptyString, 10) + ']'; --[ ]
go
Почему этот вопрос мигрировали в С.О.? Это бессмысленно? (этот вопрос не для Питера, кстати). –
@srutzky он был отмечен как не по моде. Я предполагаю, что это рассматривалось как не до уровня для вопросов dba.SE. Хотя я, возможно, не согласен с этим, я попросил перевести на SO как более общий вопрос, а не жить с флагом. –
Да, но это было не в тему, и у него уже было 2 (последний раз, когда я проверил) повторное открытие голосов (1 из них мой). Я не помню точного текста причины «вне темы», но это просто кажется глупым. –