请尝试一下。
declare @I intdeclare @X nvarchar(100)declare @D dateselect @I = max(FRData.value('count(/document/Page//Word)', 'int'))from #twhile @I > 0begin set @X = (select top 1 FRData.value('(/document/Page//Word/@Text)[sql:variable("@I")][1]', 'nvarchar(100)') from #t) if isdate(@X) = 1 begin set @D = convert(date, @X) update #t set FRData.modify('replace value of ((/document/Page//Word/@Text)[sql:variable("@I")])[1] with sql:variable("@D")') end set @I = @I - 1end


