簡體   English   中英

SQL-將varchar值轉換為Int時轉換失敗

[英]SQL - Conversion failed when converting the varchar value to Int

我正在將varchar值傳遞給SQL函數。

但是我得到這個錯誤:

消息245,第16級,狀態1,第2行
將varchar值'201,505,59,43,2202'轉換為數據類型int時,轉換失敗。

樣例代碼:

Declare @Fault Varchar(Max) = '201,505,59,43,2202'

Select * 
From EventMsg 
Where Event IN (Convert(Int, @Fault))

我同時嘗試了CASTCONVERT函數...但是相同的錯誤。

如果將逗號分隔的整數值列表作為字符串傳遞,並希望使用每個值,則需要編寫類似於.NET世界中String.Split的函數。

關於堆棧溢出有很多答案,這是一些

另一種方法是聲明表變量:

DECLARE @errorCodes AS TABLE (
    err INT
)
INSERT INTO @errorCodes (err) VALUES (1), (2), (3)

Select * From EventMsg Where Event IN (SELECT err FROM @errorCodes)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM