我有一个表(dbo.library),其中我构建了一个关键字库,这些关键字与公司中不同的标题和角色相关联。见下表:
CREATE TABLE dbo.Library
(ID INT IDENTITY(1,1),
Persona VARCHAR(20),
Keyword VARCHAR(100)
)
INSERT INTO dbo.Library
(Persona,
Keyword)
SELECT 'CMO', 'Digital Marketing'
UNION SELECT 'CMO', 'Marketing Operation'
假设我有另一张table,如下所示:
CREATE TABLE dbo.TargetTable
(ID INT IDENTITY(1,1),
Title VARCHAR(20),
Persona VARCHAR(100)
)
INSERT INTO dbo.TargetTable
(Title)
SELECT 'Director of Digital transformation in Marketing'
UNION SELECT 'Digital Marketing Analyst'
UNION SELECT 'Marketing and Sales Operation'
现在我想加入 dbo.library
到 dbo.TargetTable
在title上使用模式匹配相应地更新persona列:
UPDATE A
SET Persona = B.Persona
FROM dbo.TargetTable A
INNER JOIN dbo.Library B
ON title LIKE '%' + [Keyword] + '%'
这匹配关键字中的每一个字母,因此我得到的标题没有匹配到人物角色的关键字。而我真正想要的是:
UPDATE A
SET Persona = B.Persona
FROM dbo.TargetTable A
INNER JOIN dbo.Library B
ON Title LIKE '%' + 'Digital' + '%' + 'Marketing' + '%'
你知道我怎么解决这个问题吗?在使用[]时,是否有方法精确匹配关键字字符串?
1条答案
按热度按时间klr1opcd1#
用通配符替换关键字中嵌入的空格怎么样
'%'
?