Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách truy vấn cột xml trong tsql

Còn điều này thì sao?

SELECT 
    EventID, EventTime,
    AnnouncementValue = t1.EventXML.value('(/Event/Announcement/Value)[1]', 'decimal(10,2)'),
    AnnouncementDate = t1.EventXML.value('(/Event/Announcement/Date)[1]', 'date')
FROM
    dbo.T1
WHERE
    t1.EventXML.exist('/Event/Indicator/Name[text() = "GDP"]') = 1

Nó sẽ tìm thấy tất cả các hàng có /Event/Indicator/Name bằng GDP và sau đó nó sẽ hiển thị <Announcement>/<Value><Announcement>/<Date> cho các hàng đó.

Xem Bản trình diễn SQLFiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thủ tục mong đợi tham số không được cung cấp

  2. Cách tìm tên cột cho tất cả các bảng trong tất cả cơ sở dữ liệu trong SQL Server

  3. Xóa các hàng có liên quan trong mối quan hệ nhiều-nhiều

  4. Tên tệp đăng ký SSRS w / Ngày

  5. Bật lại SSMS Addin