Din frågetitel säger MSQL, så jag tar din fråga som en SQL Server-fråga.
- Dela funktion
Beroende på SQL Server-version/serverkonfiguration, behöver du en delad funktion som kan dela en sträng på en valfri avgränsare. Här är en sådan funktion.
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
- Fråga efter vanliga ord med delad funktion (det finns en hel del sätt att göra detta, här är ett).
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