如果在运行时指定了长度(例如,在存储过程中),那么创建类型为varbinary(max)
的二进制零串的最优雅方式是什么?创建一个长度可变的零的二进制字符串
我可以使用REPLICATE
功能做到这一点,但是这涉及到很多铸件:
CAST(REPLICATE(CAST(CAST(0 AS tinyint) AS varbinary(max)), @size)
AS varbinary(max))
(它甚至不适合就行了...)有没有更好的方式来做到这一点?
编辑:该代码应适用于@size > 8000
。
也许在一个函数中包装你的表达来隐藏细节。 – 2013-02-23 04:22:04