且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将逗号分隔的值插入到表的多个列中

更新时间:2023-01-20 10:11:22


试试这个
Hi,
try this one
SELECT col1 + '','' + col2 + '','' + col3 + '','' + col4 From tableName


你好朋友...

对于您的解决方案,您需要按照以下步骤操作...

1)首先像这样在数据库中创建一个函数...
Hello Friend...

For your solution you need to follow this steps...

1) First Create one Function in your database like this...
ALTER FUNCTION DBO.SPLIT(@STRING VARCHAR(8000), @DELIMITER CHAR(1))       
    RETURNS @TEMPTABLE TABLE (ID INT IDENTITY(1,1),ITEMS VARCHAR(8000))       
    AS       
    BEGIN       
        DECLARE @IDX INT       
        DECLARE @SLICE VARCHAR(8000)       
          
        SELECT @IDX = 1       
            IF LEN(@STRING)<1 OR @STRING IS NULL  RETURN       
          
        WHILE @IDX!= 0       
        BEGIN       
            SET @IDX = CHARINDEX(@DELIMITER,@STRING)       
            IF @IDX!=0       
                SET @SLICE = LEFT(@STRING,@IDX - 1)       
            ELSE       
                SET @SLICE = @STRING       
              
            IF(LEN(@SLICE)>0)  
                INSERT INTO @TEMPTABLE(ITEMS) VALUES(@SLICE)       
      
            SET @STRING = RIGHT(@STRING,LEN(@STRING) - @IDX)       
            IF LEN(@STRING) = 0 BREAK       
        END   
    RETURN       
    END 



2)现在您需要像这样调用插入查询....



2) Now you need to call insert query like this....

INSERT INTO TABLENAME 
SELECT * FROM (
	SELECT TOP(4) id,items FROM	dbo.split('123,char,456,vargh',',')
) up
PIVOT (MAX(ITEMS) FOR ID IN ([1],[2],[3],[4])) as pvt
GO