ThaiSQL.COM Wiki and Forum (My knowledge will be useful for you)

RSS


Quick Search
»
Advanced Search »

HostedBy
สวัสดีครับ

วันนี้ผมมีวิธีการแยกข้อมูลข้อความ ให้เปลี่ยนเป็น ข้อมูลตารางต่างๆ นะครับ หวังว่าคงมีประโยชน์สำหรับผู้มาเยี่ยมชม ไม่มากก็น้อยนะครับ

DECLARE @TEXT NVARCHAR(2000), 
	@CHAR NVARCHAR(100), 
	@LENGTH INT, 
	@DELIMIT VARCHAR(5)

SET @TEXT = 'a,b,c,' --ข้อมูลที่ต้องการจะแยก
SET @DELIMIT = ',' --คำที่ช่วยบ่งบอกให้รู้ว่าต้องแยกด้วยคำนี้
SET @CHAR = ''
SET @LENGTH = 0

CREATE TABLE #TEMP ( String NVARCHAR(1000) )

WHILE CHARINDEX(@DELIMIT, @TEXT) > 0 
BEGIN
    SET @LENGTH = CHARINDEX(@DELIMIT, @TEXT)
    SET @CHAR = SUBSTRING(@TEXT, 0, @LENGTH)	
    SET @TEXT = SUBSTRING(@TEXT, @LENGTH + 1, LEN(@TEXT))	
    INSERT  INTO #TEMP( String ) VALUES  ( LTRIM(RTRIM(@CHAR)) )
END

SELECT * FROM #TEMP

DROP TABLE #TEMP