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

एक पैरामीटर द्वारा आदेश

आपके पास 2 विकल्प हैं, या तो केस स्टेटमेंट का उपयोग करें, या डायनेमिक sql का उपयोग करें

यह केस स्टेटमेंट का एक उदाहरण होगा

DECLARE @Table TABLE(
        Col1 VARCHAR(10),
        Col2 VARCHAR(10)
)

DECLARE @OrderBy VARCHAR(100)

SET @OrderBy = 'Col1'

SELECT  *
FROM    @Table
ORDER BY 
        CASE
            WHEN @OrderBy = 'Col1' THEN Col1
            WHEN @OrderBy = 'Col2' THEN Col2
            ELSE Col1
        END

और यह गतिशील एसक्यूएल का उदाहरण होगा

CREATE TABLE #Table (
        Col1 VARCHAR(10),
        Col2 VARCHAR(10)
)

DECLARE @OrderBy VARCHAR(100)

SET @OrderBy = 'Col1'

DECLARE @SqlString NVARCHAR(MAX)

SELECT @SqlString = 'SELECT * FROM #Table ORDER BY ' + @OrderBy

EXEC(@Sqlstring)

DROP TABLE #Table


  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. SQL सर्वर 2016:डेटा आयात करें

  4. SQL सर्वर:संग्रहीत प्रक्रिया में पैरामीटर के रूप में डेटाबेस नाम कैसे प्राप्त करें

  5. SQL सर्वर (T-SQL) में किसी क्वेरी के परिणाम ईमेल कैसे करें