Hãy xem chức năng này. Tôi đã thực hiện các thủ thuật tương tự để tách và chuyển dữ liệu trong Oracle. Lặp lại dữ liệu chèn các giá trị đã giải mã vào bảng tạm thời. Điều thông thường là MS sẽ cho phép bạn thực hiện việc này nhanh chóng, trong khi Oracle yêu cầu một bảng tạm thời rõ ràng.
Chức năng phân tách trong MS SQL
Chức năng phân tách tốt hơn
Chỉnh sửa của tác giả: Điều này làm việc tuyệt vời. Mã cuối cùng trông như thế này (sau khi tạo hàm tách):
select pv.productid, colortable.items as color
from product p
cross apply split(p.color, ',') as colortable