Tiêu đề câu hỏi của bạn cho biết là MSQL, vì vậy tôi đang coi câu hỏi của bạn là câu hỏi của Máy chủ Sql.
- Chức năng phân chia
Tùy thuộc vào phiên bản SQL Server / Cấu hình máy chủ, bạn sẽ cần một hàm phân tách có thể chia một chuỗi trên một dấu phân cách tùy chọn. Đây là một chức năng.
CREATE FUNCTION [dbo].[fnSplit](@data NVARCHAR(MAX), @delimiter NVARCHAR(5))
RETURNS @t TABLE (rowNum int IDENTITY(1,1), data NVARCHAR(max), descriptor varchar(255) NULL)
AS
BEGIN
DECLARE @textXML XML;
SELECT @textXML = CAST('<d>' + REPLACE(@data, @delimiter, '</d><d>') + '</d>' AS XML);
INSERT INTO @t(data)
SELECT RTRIM(LTRIM(T.split.value('.', 'nvarchar(max)'))) AS data
FROM @textXML.nodes('/d') T(split)
RETURN
END
- Truy vấn các từ thông dụng bằng hàm split (có khá nhiều cách để thực hiện việc này, đây là một cách).
SELECT sentence1.data FROM dbo.fnSplit('This site is very helpful',' ') sentence1 INNER JOIN dbo.fnSplit('I need a helpful site',' ') sentence2 ON sentence1.data = sentence2.data