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

TSQL Bagaimana memilih karyawan dengan keterampilan di kolom xml

Perbandingannya peka huruf besar-kecil sehingga Anda perlu membandingkannya dengan c# dan C#. Di SQL Server 2008 Anda dapat menggunakan huruf besar .

declare @T table
(
  ID int identity,
  Skills XML
)

insert into @T values
('<Skills><Skill>C#</Skill><Skill>ASP.NET</Skill><Skill>VB.NET</Skill></Skills>')
insert into @T values
('<Skills><Skill>CB.NET</Skill><Skill>ASP.NET</Skill><Skill>c#</Skill></Skills>')
insert into @T values
('<Skills><Skill>F#</Skill><Skill>ASP.NET</Skill><Skill>VB.NET</Skill></Skills>')

select ID
from @T
where Skills.exist('/Skills/Skill[contains(., "C#") or contains(., "c#")]') = 1

Hasil:

ID
-----------
1
2

Pembaruan:

Ini juga akan berhasil.

select T.ID
from @T as T
  cross apply T.Skills.nodes('/Skills/Skill') as X(N)
where X.N.value('.', 'nvarchar(50)') like '%C#%'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengatur zona waktu untuk aplikasi ASP.NET MVC 5?

  2. kontrol konkurensi default untuk sql server 2005

  3. Alat Data SQL Server Visual Studio 2015 tidak ada opsi Tambahkan Tabel

  4. Cara terbaik untuk mengekstrak data dari xml dengan xquery

  5. Mengambil kesalahan spesifik pekerjaan Agen SQL