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