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

Làm cách nào để tạo một thủ tục được lưu trữ sẽ tùy chọn tìm kiếm các cột?

Trong khi COALESCE mẹo rất gọn gàng, phương pháp ưa thích của tôi là:

CREATE PROCEDURE ps_Customers_SELECT_NameCityCountry
    @Cus_Name varchar(30) = NULL
    ,@Cus_City varchar(30) = NULL
    ,@Cus_Country varchar(30) = NULL
    ,@Dept_ID int = NULL
    ,@Dept_ID_partial varchar(10) = NULL
AS
SELECT Cus_Name
       ,Cus_City
       ,Cus_Country
       ,Dept_ID
FROM Customers
WHERE (@Cus_Name IS NULL OR Cus_Name LIKE '%' + @Cus_Name + '%')
      AND (@Cus_City IS NULL OR Cus_City LIKE '%' + @Cus_City + '%')
      AND (@Cus_Country IS NULL OR Cus_Country LIKE '%' + @Cus_Country + '%')
      AND (@Dept_ID IS NULL OR Dept_ID = @DeptID)
      AND (@Dept_ID_partial IS NULL OR CONVERT(varchar, Dept_ID) LIKE '%' + @Dept_ID_partial + '%')

Những loại SP này có thể dễ dàng được tạo mã (và được tạo lại để thay đổi bảng).

Bạn có một số tùy chọn để xử lý số - tùy thuộc vào việc bạn muốn ngữ nghĩa chính xác hay ngữ nghĩa tìm kiếm.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Liệt kê tất cả các cột không thể xóa trong cơ sở dữ liệu máy chủ SQL

  2. Cách sử dụng Câu lệnh GO trong SQL Server để Chèn Bản ghi trong Cột Định danh - Hướng dẫn SQL Server / T-SQL Phần 42

  3. Cách tìm tất cả các đồ thị con được kết nối của một đồ thị vô hướng

  4. Các bản sửa lỗi cho sự cố tạo lại chỉ mục trực tuyến SQL Server 2012 &2014

  5. Câu lệnh SQL CASE:Nó là gì và những cách tốt nhất để sử dụng nó là gì?