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

Áp dụng như trên tất cả các cột mà không chỉ định tất cả các tên cột?

Nói chung - theo cách hợp lý thì không thể thực hiện được ( không cần đào sâu trong siêu dữ liệu DB ), nhưng nếu bạn biết tên của các cột, bạn có thể sử dụng mẹo như sau:

select 
    YourTable.*
FROM YourTable
JOIN
( 
    select 
      id, 
      ISNULL(column1,'')+ISNULL(Column2,'')+...+ISNULL(ColumnN,'') concatenated
      FROM YourTable
) T ON T.Id = YourTable.Id
where   t.concatenated like '%x%'

HOẶC

nếu bạn tìm kiếm các từ - hãy sử dụng các khả năng của FTS, bởi vì truy vấn trên là một sát thủ hiệu suất



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mẫu Regex bên trong chức năng Thay thế SQL?

  2. Vấn đề ngày giờ với vb.net và MSSQL

  3. Chuyển đổi 'datetime' thành 'time' trong SQL Server (Ví dụ T-SQL)

  4. SQL - sắp xếp theo thứ tự danh sách

  5. TSQL Pivot không có chức năng tổng hợp