में ऑर्डर और अलग-अलग प्रकार के पैरामीटर में एक इंटीजर इनपुट के आधार पर, मुझे कॉलम द्वारा सेट किए गए परिणाम को ऑर्डर करने की आवश्यकता होती है।एक केस
समस्या है, मुझे ऑर्डरबी के लिए एक केस का उपयोग करने की आवश्यकता है, और ऐसा लगता है कि कोड केस कॉलम में पहले 'प्रकार' को स्वीकार करता है ... कोई अन्य प्रकार असफल हो जाता है।
मेरे कोड इस तरह है:
WITH error_table AS
(
SELECT Row_Number() OVER
(ORDER BY
CASE @orderBy
WHEN 1 THEN received_date -- Last Rx'd message
WHEN 2 THEN message_id -- Message Id
WHEN 3 THEN zibmat.short_name -- Message action type
WHEN 4 THEN error_action.short_name -- Status type
WHEN 5 THEN ime.[allocated_date] -- Allocated Date
ELSE received_date
END) AS RowNumber
,ime.[ijis_message_error_id]
,ime.[message_id]
,ime.[message_version]
तो, जब OrderBy 1 है, यह काम करता है। यह rx_date द्वारा टाइप करता है ... लेकिन जब मैंने इसे 2 भेजा, तो यह डेटा समय रूपांतरण त्रुटि के साथ विफल रहता है।
ऐसा लगता है कि सभी प्रकार की तरह ही होना चाहिए ...
भेजा जा रहा है एक 5 ठीक काम करता है, के रूप में है कि एक दिनांक समय भी है।
क्या कोई तरीका है जिससे मैं इसे ठीक कर सकता हूं?
"वहाँ एक रास्ता है मैं इसे ठीक कर सकता हूं? "- हाँ: उन्हें सभी समान डेटाटाइप बनाएं –
@ रिचर्ड उर्फ साइबरकीवी: मुझे इसके बारे में पता है मैंने विशेष रूप से कुछ भी निर्दिष्ट नहीं किया: संभावित रूप से उचित पैडिंग शामिल होगी। मैंने पहले इस तरह से हल किया है जिस तरह से आपने उत्तर दिया है ... –