2013-12-16 62 views
2

轉換失敗將轉換var char值'10,11,12,60,61 ,111,143,144'到數據類型int。將var char值'10,11,12,60,61,111,143,144'轉換爲數據類型int

Master Details是var char包含'list user,add user,list master,add master'value and ID as int,User Access列是Var char包含'10,11,12,60,61,111,143 ,144'值

Select Master Details 
from Master information 
where ID IN (SELECT User Access 
      FROM User Access Details where User ID = 22) 
+2

您違反了1NF的規則,你的數據庫設計 - 你應該嘗試這樣做。數據庫中的每個字段都應該攜帶一個原子信息。 – TGlatzer

+0

我使用強制轉換函數作爲選擇ID,從Masterinformation的MasterDetails其中CAST(ID AS VARCHAR(15))IN(選擇CAST(UserAccess AS VARCHAR(15))FROM UserAccessDetails其中UserID = 22) – user3107055

+0

您真的應該對這種「解」。順便說一下.. 11是在114857 - 這可能是一個問題... – TGlatzer

回答

1

確保您的表格中有相同的列類型。
否則使用castconvert在查詢中使其類型相同。

此外,您還應該在內部查詢中使用單列,或者在列名稱中使用空格的列名稱使用[]

SELECT [User Access] 
     FROM User Access Details where User ID = 22 

MSDN鏈接cast and convert

一些鏈接

  1. sql how to cast a select query
相關問題