我有一个过程,我想用它来搜索 xml 列并返回我搜索的值。现在我只希望它返回值本身。就像现在一样,它返回正确的预期行数,但返回值为 null!我添加了演员,但它返回相同!
关于如何让搜索到的字符串返回而不是 null 的任何想法?谢谢!
CREATE PROCEDURE [dbo].[FindString]
@findString NVARCHAR(100)
AS
BEGIN
SET NOCOUNT ON
;WITH XMLNAMESPACES (Default 'http://www.w3.org/2001/XMLSchema' )
SELECT CAST(x.value('Value[1]', 'varchar(30)') As varchar(30)) As Value
FROM dbo.XmlTable x
CROSS APPLY x.XmlDocument.nodes('/*') a(x)
WHERE XmlDocument.exist('//*/text()[contains(., sql:variable("@findString"))]') = 1
RETURN
END
GO