 |
|
สอบถาม Sql Script วิธี Split string ขึ้น rows ใหม่ |
|
 |
|
|
 |
 |
|
ทำเป็น store procedure
คำค้น sql string split to temp table
|
 |
 |
 |
 |
Date :
2018-12-17 21:27:22 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สอบถามเพิ่มเติมครับเกี่ยวกับเรื่องหารครับ
16/0 ทำต้องให้ฟังก์ชั่นไหนให้เป็นออกเป็น 0 หรอครับ
|
 |
 |
 |
 |
Date :
2018-12-19 16:51:32 |
By :
timesurfer |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตรวจสอบค่า ตัวหารก่อน ทำการหาร
Mysql: if(fld=0, 0, 16/fld)
Mssql: case fld when 0 then 0 else 16/fld end
|
 |
 |
 |
 |
Date :
2018-12-20 14:08:16 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
CREATE FUNCTION [dbo].[fn_Split]
(
@text nvarchar(max), @delimiter nvarchar(5) = ' '
)
RETURNS @Strings TABLE
(
position int IDENTITY PRIMARY KEY,
value nvarchar(max)
)
AS
BEGIN
DECLARE @index int
SET @index = -1
WHILE (LEN(@text) > 0)
BEGIN
SET @index = CHARINDEX(@delimiter , @text)
IF (@index = 0) AND (LEN(@text) > 0)
BEGIN
INSERT INTO @Strings VALUES (@text)
BREAK
END
IF (@index > 1)
BEGIN
INSERT INTO @Strings VALUES (LEFT(@text, @index - 1))
SET @text = RIGHT(@text, (LEN(@text) - @index))
END
ELSE
SET @text = RIGHT(@text, (LEN(@text) - @index))
END
RETURN
END
Code
insert into .... SELECT value FROM [dbo].[fn_Split]('D1;E1;E2;E3;E4',';');
|
 |
 |
 |
 |
Date :
2018-12-20 17:17:13 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|