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

Cara mencari banyak string atau karakter di bidang di sql

Jika Anda memiliki multiple patterns untuk mencari maka lebih baik membuat derived table atau temporary table untuk menyimpan patterns

DECLARE @patterns TABLE  (
pattern VARCHAR(20)
);

INSERT INTO @patterns VALUES ('%$%'), ('%[%]%'), ('%ac cd%');

SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern);

Jika Anda memiliki beberapa kolom untuk dibandingkan, tambahkan saja ekspresi di ON klausa

SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern)
OR (a.Column2 like p.pattern);

Diperbarui:Menggunakan Tampilan

CREATE VIEW PatternSearch
AS
 WITH Patterns (Patterns)
  AS
  (
     Select  '%Tool%'
     union all
     Select '%Sale%'
     union all
     Select  '%ac cd%'
  )
   SELECT a.* FROM table_name a JOIN Patterns p ON (a.Description LIKE p.pattern)

GO

Tidak diuji tetapi Anda dapat melakukan seperti ini

Sumber




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa saya tidak dapat menggunakan alias dalam kolom count(*) dan merujuknya ke dalam klausa yang memiliki?

  2. Jawaban Teratas untuk 5 Pertanyaan Pembakaran pada Fungsi COALESCE di SQL Server

  3. Bagaimana saya harus memasukkan banyak catatan?

  4. Apa alasan konteks Transaksi digunakan oleh sesi lain?

  5. Sql server union tetapi tetap tertib