Что является самым элегантным способом создания строки двоичных нулей типа varbinary(max)
, если длина указана во время выполнения (например, в хранимой процедуре)?Создать двоичную строку нулей с переменной длиной
Я мог бы сделать это с помощью функции REPLICATE
, но включает в себя много литья:
CAST(REPLICATE(CAST(CAST(0 AS tinyint) AS varbinary(max)), @size)
AS varbinary(max))
(Он даже не помещается на линии ...) Есть ли лучший способ сделать это ?
EDIT: Код должен работать для @size > 8000
.
Возможно, вы можете скрыть свое выражение в функции, чтобы скрыть детали. –