Tsql 如何在T-SQL2005中避开正斜杠?

Tsql 如何在T-SQL2005中避开正斜杠?,tsql,dynamic,escaping,slash,Tsql,Dynamic,Escaping,Slash,我有一个动态的t-sql: declare @sql nvarchar(max) set @sql = N' insert into #t SELECT row_number() over(order by getdate()) as RowNum, d.value('''+@baseDateXpath+''', ''datetime'') as basedate, pref.query(''.'') as XmlExtract FROM @content.nod

我有一个动态的t-sql:

declare @sql nvarchar(max)
set @sql =
N'
insert into #t
SELECT
    row_number() over(order by getdate()) as RowNum,
    d.value('''+@baseDateXpath+''', ''datetime'') as basedate,
    pref.query(''.'') as XmlExtract
FROM
    @content.nodes(''/*/*'') AS extract(pref)
CROSS APPLY
    @content.nodes(''//*'') AS datey(d)
WHERE
    pref.value(''.//*[1]'', ''nvarchar(50)'') IS NOT NULL'

exec sp_executesql @sql,
    N'@content xml',
    @anXmlContentStr
它不起作用,因为我认为正斜杠的逃逸被误解了


如何编写此字符串以使其正确执行?

您是否已经 @content.nodes//AS dateyd 而不是 @content.nodes//AS dated


如果不是的话,你所记录的错误是什么?

我将把这个答案标记为正确,因为我必须标记一些东西,但不,我不认为这是正确的。它刚刚开始工作,毫无疑问,是晚了一点-所以它可能是数据-但我已经删除了整个内容并重新设计了结构,这当然比使用动态SQL要好。@Matt W:请不要觉得你必须标记一些东西。如果这个答案不能回答你的问题,那么你将它标记为答案对任何人都没有帮助。