Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server Xml заявка с недеклариран префикс

Вашият пример е невалиден по два начина:

  1. Не е разрешено да има префикс на пространство от имена без съответна декларация на пространство от имена.
  2. Вашето затваряне таговете не включват / навсякъде...

Това е грозен хак, но можете да опитате следното:

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

Ако не знаете всички префикси на пространството от имена предварително, това ще стане наистина трудно...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server ROWLOCK върху SELECT, ако не съществува транзакция INSERT

  2. Изпълнете db заявка (sql сървър 2005) с ajax. Възможно ли е?

  3. Как да получите текущата дата в SQL Server

  4. Първо подредете по конкретен идентификатор, след това по останалите

  5. Как да проверя дали низът е уникален идентификатор?