我用這樣的
select MaterialID from MaterialThicknessRange MTR inner join
dbo.TransformCSVToTable('1,2,15') IDs on MTR.ThiknessRangeID = IDs.ID
其中dbo.TransformCSVToTable是用戶定義的函數爲CSV字符串轉換爲一列的表。貝婁這樣的功能的一個樣本
ALTER FUNCTION [dbo].[fn_IntegerParameterListFromString]
(
@IntegerParameterList varchar(max)
)
RETURNS @result TABLE (IntegerID int)
AS
begin
declare @temp table (IntegerID int)
declare @s varchar(max), @s1 varchar(10)
declare @len int
set @len =len(@IntegerParameterList)
set @s = @IntegerParameterList
if (right(@s,1)<>',') set @s = @s +','
while @s<>''
begin
set @s1 = substring(@s,1,charindex(',',@s)-1)
if (isnumeric(@s1)= 1)
insert @result (IntegerID) Values (Cast(@s1 as int))
if (CHARINDEX(',',@s)>0)
begin
set @s = substring (@s, charindex(',',@s)+1, @Len)
end
else
begin
if isnumeric(@s) = 1
insert @result (IntegerID) Values (Cast(@s as int))
set @s = ''
end
end
return
末
你能提供一些示例表中的值嗎? – cmutt78 2011-05-10 12:55:42
產品編號:2產品說明\t Active PORON®4701-30測試說明Y – 2011-05-10 12:58:09
您對前端使用什麼? Web窗體,桌面應用程序?什麼語言? – JohnK813 2011-05-10 12:58:55