sql server query的问题。
我尝试创建一个查询来搜索一个句子上的每个单词。单词被空格分割。
结果包含值包含每个字不至少为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或功能。
我看着我身边的“有”和“进入”或其他东西。
任何提示坦克
和好的周末