मैं एक संग्रहीत प्रक्रिया लिखने की कोशिश कर रहा हूं जो ऑर्डर ऑर्डर और सॉर्ट पैरामीटर के साथ ऑब्जेक्ट की एक सूची देता है और एसक्यूएल पैरामीटर के रूप में पास किया जाता है।टी-एसक्यूएल सशर्त आदेश
चलें कहते हैं कि मैं एक उत्पादों के निम्नलिखित कॉलम के साथ तालिका है: (पूर्णांक), नाम (varchar), मूल्य (पूर्णांक), CREATED_DATE (दिनांक) और और @sortOrder
product_id मापदंडों @sortDir मैं चाहता हूँ
select *
from Product
if (@sortOrder = 'name' and @sortDir = 'asc')
then order by name asc
if (@sortOrder = 'created_date' and @sortDir = 'asc')
then order by created_date asc
if (@sortOrder = 'name' and @sortDir = 'desc')
then order by name desc
if (@sortOrder = 'created_date' and @sortDir = 'desc')
then order by created_date desc
मैंने केस स्टेटमेंट के साथ ऐसा करने की कोशिश की लेकिन डेटा प्रकार अलग होने के कारण समस्याएं थीं। किसी को कोई सुझाव मिला है?
आप केस स्टेटमेंट के साथ सही रास्ते पर थे। क्या आप जो पोस्ट कर सकते हैं उसे पोस्ट कर सकते हैं और हमें बता सकते हैं कि त्रुटि क्या थी? –
मुझे निम्न त्रुटि मिलती है "दिनांक और/या चरित्र स्ट्रिंग से समय परिवर्तित करते समय रूपांतरण विफल रहा।" क्योंकि यदि आप केस स्टेटमेंट का उपयोग कर रहे हैं तो स्पष्ट रूप से आपके डेटा प्रकार समान होना चाहिए। – RiceRiceBaby
क्या आप अपना कोड पोस्ट कर सकते हैं? –