SQL 中的模式匹配技术可将字符串正确匹配到关键字但未获得正确结果

Pattern matching techniques in SQL to correctly match a string to a keyword but not getting the right results

我有一个 table (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 以相应地更新 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' + '%'

你知道我该如何解决这个问题吗?有没有办法在使用 [ ] 时对关键字字符串进行精确匹配?

如何简单地将关键字中的嵌入空格替换为通配符 '%'

UPDATE A
SET Persona  = B.Persona
FROM dbo.TargetTable A 
INNER JOIN dbo.Library B ON title LIKE '%' + REPLACE([Keyword], ' ', '%') + '%'