Chia chuỗi trong một cột thành nhiều cột trong sql server

By
Advertisement
Code sau sẽ chia chuỗi trong 1 cột thành nhiều cột, ứng dụng nhiều trong tìm kiếm segment.

DECLARE @T TABLE(full_location_id varchar(100));
INSERT INTO @T
VALUES  ('A1-BF-35-B1'),
        ('AR-B3');
WITH CTE AS
(
    SELECT  full_location_id,
            LEN(full_location_id)-LEN(REPLACE(full_location_id,'-','')) N
    FROM @T
)
SELECT
 full_location_id,
        PARSENAME(REPLACE(full_location_id,'-','.'),N+1),
        PARSENAME(REPLACE(full_location_id,'-','.'),N),
        PARSENAME(REPLACE(full_location_id,'-','.'),N-1),
        PARSENAME(REPLACE(full_location_id,'-','.'),N-2),
        PARSENAME(REPLACE(full_location_id,'-','.'),N-3) ,
        PARSENAME(REPLACE(full_location_id,'-','.'),N-4),
        PARSENAME(REPLACE(full_location_id,'-','.'),N-5)
FROM CTE
Kết quả đạt được


Chúc thành công.

0 blogger:

Đăng nhận xét