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

एक मामले में आदेश द्वारा और विभिन्न प्रकार

CASE कथन को केवल एक डेटा प्रकार के लिए हल करना चाहिए। यह इस तथ्य की परवाह किए बिना है कि आप जानते हैं कि @orderby केवल एक शाखा का चयन करेगा और यह एक विशेष डेटा प्रकार होगा।

आप कुछ इस तरह का उपयोग कर सकते हैं, जो कि भद्दा होगा लेकिन काम करेगा।

ORDER BY
CASE @orderBy WHEN 1 THEN received_date -- Last Rx'd message
WHEN 2 THEN 0
WHEN 3 THEN 0
WHEN 4 THEN 0
WHEN 5 THEN ime.[allocated_date] -- Allocated Date
ELSE received_date END,
CASE @orderBy WHEN 1 THEN 0
WHEN 2 THEN message_id -- Message Id
WHEN 3 THEN 0
WHEN 4 THEN 0
WHEN 5 THEN 0
ELSE 0 END,
CASE @orderBy WHEN 1 THEN ''
WHEN 2 THEN ''
WHEN 3 THEN zibmat.short_name -- Message action type
WHEN 4 THEN error_action.short_name -- Status type
WHEN 5 THEN ''
ELSE '' END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. केवल एक क्वेरी का उपयोग करके डुप्लिकेट रिकॉर्ड को हटाना

  2. पैरामीटर के आधार पर अलग-अलग तालिका को क्वेरी करना

  3. कुल फ़ंक्शन के बिना एसक्यूएल सर्वर में पिवट क्वेरी कैसे बनाएं?

  4. अंतिम सम्मिलित रिकॉर्ड की आईडी प्राप्त करें

  5. DELETE TRIGGER के साथ DELETE करने से पहले INSERT ने डिलीट किए गए मानों को एक टेबल में डाल दिया