Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Permintaan SQL Server Xml dengan awalan yang tidak dideklarasikan

Contoh Anda tidak valid dalam dua cara:

  1. Tidak diperbolehkan memiliki awalan namespace tanpa deklarasi namespace yang sesuai.
  2. PenutupanYour Anda tag tidak menyertakan / di mana-mana...

Ini adalah peretasan yang buruk, tetapi Anda dapat mencoba ini:

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

Jika Anda tidak mengetahui semua awalan namespace sebelumnya, ini akan menjadi sangat rumit...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kompres baris dengan nol dan duplikat menjadi satu baris

  2. Apakah ada cara untuk memilih kolom ke-n dalam klausa SELECT dari tabel/tampilan

  3. Apakah ada cara untuk mengonversi varchar ke DATETIME di SQL SERVER 2008?

  4. SQL Query - Ubah format tanggal dalam kueri menjadi DD/MM/YYYY

  5. Bagaimana cara menemukan apa yang mengisi tabel?