-1
我在查詢轉換爲nvarchar值「190191192」 int數據類型時從VARCHAR轉換值爲int
轉換失敗得到了下面的問題。
查詢
SELECT *
FROM SGI_User
JOIN SGI_Agency_User
ON SGI_User.User_Id = SGI_Agency_User.User_Id
WHERE SGI_Agency_User.Agency_Id IN
(select STUFF(
(select CAST(',' as varchar(max)), cast(agency_id as int)
from sgi_agency
where filial_de_int_matriz = 192 or
(Agency_Id = 192 and Filial_De_int_matriz = 0)
for xml path('')), 1, 1, ''))
and SGI_User.Deleted = 0
這3個值190,191,192
從該查詢
select STUFF(
(select CAST(',' as varchar(max)), cast(agency_id as int)
from sgi_agency
where filial_de_int_matriz = 192 or
(Agency_Id = 192 and Filial_De_int_matriz = 0)
for xml path('')), 1, 1, '')
返回一個varchar
但我SGI_Agency_User.Agency_Id
外地趕來爲INT
我已經嘗試了一些CAST
但沒有成功。我該如何做這個查詢?
您是否正在尋找一種方式來分割字符串成單獨的值,以便他們被轉換成整數? – Gidil
這是一個問題,我可以在查詢中放入一個'IN'語句來搜索INT值,但是如何將我的子查詢轉換爲一組'INT'數字? –