2
輸入像111111
和101,102,103,104
轉換遊標失敗存儲過程
我要檢查用戶是否對這個請求,或者不能上網......
我嘗試了光標如圖所示,但我得到這個錯誤:
Conversion failed when converting the varchar value '101,102,103,104' to data type int.
代碼:
由於在dvance
輸入像111111
和101,102,103,104
轉換遊標失敗存儲過程
我要檢查用戶是否對這個請求,或者不能上網......
我嘗試了光標如圖所示,但我得到這個錯誤:
Conversion failed when converting the varchar value '101,102,103,104' to data type int.
代碼:
由於在dvance
根據您的SQL服務器優化版本,你可以在這短短的例子
Select * from dbo.test1
Where ID in(
Select * from dbo.F_SplitAsIntTable('1,123,234,456'))
功能定義爲
CREATE FUNCTION F_SplitAsIntTable
(
@txt varchar(max)
)
RETURNS
@tab TABLE
(
ID int
)
AS
BEGIN
declare @i int
declare @s varchar(20)
Set @i = CHARINDEX(',',@txt)
While @i>1
begin
set @s = LEFT(@txt,@i-1)
insert into @tab (id) values (@s)
Set @txt=RIGHT(@txt,Len(@txt)[email protected])
Set @i = CHARINDEX(',',@txt)
end
insert into @tab (id) values (@txt)
RETURN
END
GO
謝謝bummi ...我創建了一個函數和問題解決了...... :) – Rohit 2013-02-27 09:05:15
使用表值函數就像你不能自動地擴展到VARCHAR列表中的項目。 – muhmud 2013-02-22 12:31:55