0
SQL Server 2008告诉我它不喜欢CONTAINS中的“+”。 不知道我在这里做错了什么。如何连接SQL Server 2008中的CONTAINS内部的字符串?
INSERT INTO dbo.tblImportTitles
(
ImportTitleGUID,
UserGUID,
TitleName,
TitleGUID
)
SELECT
ImportTitleGUID = T.Item.value('@ImportTitleGUID', 'uniqueidentifier'),
UserGUID = T.Item.value('@UserGUID', 'uniqueidentifier'),
TitleName = T.Item.value('@TitleName', 'varchar(255)'),
TitleGUID =
CASE
WHEN (SELECT TOP(2) COUNT(TitleGUID) FROM dbo.tblTitles WHERE CONTAINS(Title, '''' + T.Item.value('@TitleName', 'varchar(255)') + '''')) = 1
THEN (SELECT TitleGUID FROM dbo.tblTitles WHERE CONTAINS(Title,'''' + T.Item.value('@TitleName', 'varchar(255)') + ''''))
ELSE NULL
END
FROM @ImportTitlesInsertXml.nodes('BatchTitles/BTitle') AS T(Item)
更新
心中已经决定将这一移动到一个标量函数。 这样处理代码要容易得多。
这没有奏效。 :-( –