2014-04-15 129 views
0

我有以下签名SQL Server的隐式转换为VARCHAR(MAX)

( 
    @value as VARCHAR(MAX) 
) 
RETURNS NCHAR(47) 

会发生什么,如果函数的输入将是int SQL函数?

隐式铸造为VARCHAR(MAX)

也就是说,如果输入的是int 12如何将它转移到函数输入前导零和12 - “000000..000012

+1

不,它只会被读作'12' – smoore4

+1

你实际上并没有像那样存储数据ina varchar(max)字段是你自己,这是非常可怜的想法,除非字段通常会包含超过8000个字符 – HLGEM

回答

0

它被强制转换为VARCHAR,但不会有前导0的,它只会被解读为12.仅仅因为你指定了varchar(max)并不意味着它将使用它所具有的空间并自动填充0。