Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं एक संग्रहीत कार्यविधि कैसे बनाऊं जो वैकल्पिक रूप से कॉलम खोजेगी?

जबकि COALESCE चाल साफ है, मेरा पसंदीदा तरीका है:

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 + '%')

इस तरह के एसपी आसानी से कोड जेनरेट किए जा सकते हैं (और टेबल-परिवर्तन के लिए फिर से जेनरेट किए जा सकते हैं)।

आपके पास संख्याओं को संभालने के लिए कुछ विकल्प हैं - इस पर निर्भर करते हुए कि आप सटीक शब्दार्थ या खोज शब्दार्थ चाहते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में क्वेरी परिणाम में पंक्तियों की संख्या कैसे वापस करें

  2. SQL सर्वर में डेटाटाइम का समय भाग निकालने का सर्वोत्तम तरीका

  3. CHARINDEX () फ़ंक्शन SQL सर्वर (T-SQL) में कैसे काम करता है

  4. SQL सर्वर में IDENT_CURRENT बनाम @@ पहचान बनाम SCOPE_IDENTITY:क्या अंतर है?

  5. SQL सर्वर में महीने का पहला दिन प्राप्त करने के 3 तरीके