2014-04-15 72 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。