这是我遇到的问题。我想返回与我的数据库中的表相似的行。考虑具有以下文本的两行:
'Cisco phones cannot dial out'
'Phones are not working for outgoing calls'
这是两个不同的行......我试图做这样的事情:
DECLARE @TheTest varchar(1000)
DECLARE @TheResult varchar(1000)
SET @TheTest = ('Cisco phones cannot dial out')
SET @TheResult = ('Phones are not working for outgoing calls')
CREATE TABLE #Test
(
MyCol varchar(1000)
)
INSERT INTO #Test(MyCol)
SELECT @TheResult
SELECT * FROM #Test WHERE LOWER(MyCol) LIKE '%' + LOWER(@TheTest) + '%'
DROP TABLE #Test
但结果是返回了 0 行,我明白这是因为字符串 TheTest 与字符串 @TheResult 不够接近……但我需要一个实际返回这一行的解决方案,因为两个文本中都出现了单词 phones。
我是否必须构建更精细的东西来分隔单词并摆脱像这样的常用词?我想模仿我在特定网站上看到的功能: