Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie SQL Server Xml z niezadeklarowanym prefiksem

Twój przykład jest nieprawidłowy z dwóch powodów:

  1. Nie wolno mieć prefiksu przestrzeni nazw bez odpowiedniej deklaracji przestrzeni nazw.
  2. Twoje zamknięcie tagi nie zawierają / wszędzie...

To brzydki hack, ale możesz spróbować tego:

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];

Jeśli nie znasz z góry wszystkich przedrostków przestrzeni nazw, będzie to naprawdę trudne...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak korzystać z właściwości IDENTITY() w SQL Server

  2. SQL SERVER 2008 JOIN – wskazówki

  3. OPCJA (REKOMPILACJA) jest zawsze szybsza; Czemu?

  4. Czy można użyć `SqlDbType.Structured` do przekazywania parametrów wycenianych w tabeli w NHibernate?

  5. Jak połączyć Android Studio z bazą danych SQL Server?