sql server 查询的问题。
我尝试创建一个查询来搜索句子中的每个单词。单词由空格分隔。
结果包含值包含每个单词而不是至少 1 的行。
样本:
DECLARE @DATATABLE TABLE (ID INT,COL1 VARCHAR(MAX))
INSERT INTO @DATATABLE (ID,COL1) VALUES (1,'ALPHA')
INSERT INTO @DATATABLE (ID,COL1) VALUES (2,'ALPHA BETA')
INSERT INTO @DATATABLE (ID,COL1) VALUES (3,'ALPHA BETA CHARLIE')
INSERT INTO @DATATABLE (ID,COL1) VALUES (4,'ALPHA BETA CHARLIE DELTA')
DECLARE @TESTTABLE AS TABLE (ID INT,COL1 VARCHAR(MAX))
INSERT INTO @TESTTABLE (ID,COL1) VALUES (1,'ALPHA') -- RETURN 1,2,3,4
INSERT INTO @TESTTABLE (ID,COL1) VALUES (2,'ALPHA BETA') -- RETURN 2,3,4
INSERT INTO @TESTTABLE (ID,COL1) VALUES (3,'BETA CHARLIE ALPHA') -- RETURN 3,4
INSERT INTO @TESTTABLE (ID,COL1) VALUES (4,'BETA DELTA') -- RETURN 4
INSERT INTO @TESTTABLE (ID,COL1) VALUES (5,'CHARLIE') -- RETURN 3,4
SELECT * FROM @DATATABLE
DECLARE @I AS INT
SET @I = 1
DECLARE @COUNTLINE AS INT
SET @COUNTLINE = (SELECT MAX(ID) FROM @TESTTABLE )
DECLARE @CURRENTVALUE AS VARCHAR(MAX)
WHILE(@I <= @COUNTLINE)
BEGIN
SET @CURRENTVALUE = (SELECT COL1 FROM @DATATABLE WHERE ID = @I)
-- ** TODO **
-- QUERY SHOULD RETURN EVERY LINE CONTAINING EACH WORD OF THE CURRENT TEST VALUE
SELECT * FROM @DATATABLE WHERE COL1 LIKE @CURRENTVALUE
SET @I = @I + 1
END
我在第一个测试的地方写了“TODO”(看到不应该做的事情)。
我无法创建 SP 或函数。
我在我这边寻找“with”和“in”或其他东西。
任何提示的坦克
周末愉快