Il tuo esempio non è valido in due modi:
- Non è consentito avere un prefisso dello spazio dei nomi senza una dichiarazione dello spazio dei nomi corrispondente.
- La tua chiusura i tag non includono il
/
ovunque...
Questo è un brutto trucco, ma potresti provare questo:
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];
Se non conosci tutti i prefissi degli spazi dei nomi in anticipo, questo diventerà davvero complicato...