Ihr Beispiel ist in zweierlei Hinsicht ungültig:
- Es ist nicht erlaubt, ein Namespace-Präfix ohne eine entsprechende Namespace-Deklaration zu haben.
- Ihr Abschluss -Tags enthalten nicht den
/
überall...
Dies ist ein hässlicher Hack, aber Sie könnten Folgendes versuchen:
DECLARE @Params XML
SET @Params = REPLACE('<filter>
<ns0:from>2016-09-19</ns0:from>
<ns0:to>2017-01-01</ns0:to>
</filter>','ns0:','');
SELECT @Params.value('(/*:filter/*:from)[1]', 'date') AS [from];
Wenn Sie nicht alle Namespace-Präfixe im Voraus kennen, wird dies wirklich schwierig...