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

SQL Server 2008 XPath

Anda dapat menggunakan .exist() metode - sesuatu seperti ini:

SELECT 
(list of columns) 
FROM
dbo.YourTable
WHERE
YourXmlColumn.exist('//Value[text()="5052095050830"]') = 1

Ini memeriksa nilai tertentu yang Anda berikan. Semakin tepat Anda dapat menentukan XPath tempat nilai tersebut diharapkan ditemukan, semakin baik kinerja Anda.

YourXmlColumn.exist('//Value[text()="5052095050830"]') = 1

sangat buruk - itu terlihat di setiap <Value> simpul di mana saja dalam XML untuk menemukan nilai itu.

Sesuatu seperti ini:

YourXmlColumn.exist('/Attributes/ProductVariantAttribute/ProductVariantAttributeValue/Value[text()="5052095050830"]') = 1

akan jauh lebih fokus dan dengan demikian jauh lebih baik untuk kinerja - tetapi hanya node tertentu yang ditentukan oleh pernyataan XPath itu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ganti NULL dengan nilai Kosong atau Nol di server sql

  2. Mengapa Anda membuat Tampilan dalam database?

  3. Bisakah kita menolak penghapusan dari tabel tertentu?

  4. String Format Numerik Kustom Didukung oleh FORMAT() di SQL Server

  5. Ubah 'datetimeoffset' menjadi 'smalldatetime' di SQL Server (Contoh T-SQL)