2011-10-06 48 views
0

我試圖獲取一個字段,以顯示與數據類型爲int AA場的組合,另一個爲下計算列規範nvarchar的,但我得到以下錯誤:SQL服務器:計算列具有不同數據類型

Conversion failed when converting the nvarchar value 'y' to data type int.

計算列規格Forumula:[myNvarCharField] + '' + [myIntField]

是沒可能來連接SQL Server 2008中的計算列規範下從不同數據類型的字段?

回答

2

這裏是你如何使用一個字符串和一個int作爲計算列數學。試試這個:,隱式轉換恰巧根據表達式

create table TestComputedCols 
(
    someint int not null, 
    somestring nvarchar(10) not null, 
    combination as (somestring + ' ' + cast(someint as nvarchar)) 
) 
+0

組合場應該是一個字符串。 – Rick

+1

@Rick我編輯了我的代碼來顯示字符串附加。 – 2011-10-06 02:41:24

1

當您混合數據類型「datatype precedence"詮釋是其優先級比nvarchar的更高,從而鑄就INT第一

... 
MyComputedColumn AS [myNvarCharField] + ' ' + CAST([myIntField] AS nvarchar) 
... 
相關問題