आप यह कर सकते हैं:
ORDER BY IF(SUBSTRING(name, 1, 14) = 'University of ', SUBSTRING(name, 15), name)
एक अतिरिक्त name_value
. को प्रोजेक्ट करते हुए इस तालिका पर एक दृश्य बनाना एक अच्छा विचार हो सकता है कॉलम को IF()
पर सेट किया गया है उपरोक्त अभिव्यक्ति। फिर आप इस कॉलम द्वारा ऑर्डर कर सकते हैं और IF()
. के साथ अपने प्रश्नों को प्रदूषित किए बिना इसे चुन सकते हैं ।
उदाहरण दृश्य, यह मानते हुए कि विश्वविद्यालय का नाम name
. कॉलम में संग्रहीत है :
CREATE VIEW Universities AS
SELECT
list_universities.*,
IF(SUBSTRING(name, 1, 14) = 'University of ',
SUBSTRING(name, 15),
name) AS name_value
FROM list_universities;
फिर आप Universities
. से चयन कर सकते हैं ठीक उसी तरह जैसे आप list_universities
. से करते हैं , सिवाय इसके कि इसमें एक अतिरिक्त name_value
होगा कॉलम जिसे आप चुन सकते हैं, या उसके अनुसार ऑर्डर कर सकते हैं, या जो भी हो।
ध्यान दें कि यह दृष्टिकोण (साथ ही ORDER BY IF(...)
) name
. पर किसी भी इंडेक्स का उपयोग नहीं कर पाएगा प्रकार के प्रदर्शन में सुधार करने के लिए।