प्रत्येक अभिव्यक्ति का मूल्यांकन एक बूल के रूप में किया जाता है और असत्य के लिए 0 और सत्य के लिए 1 माना जाता है और उचित रूप से क्रमबद्ध किया जाता है। भले ही यह काम करता है, तर्क का पालन करना कठिन है (और इस प्रकार बनाए रखना)। मैं जो उपयोग करता हूं वह एक ऐसा फ़ंक्शन है जो किसी सरणी में मान की अनुक्रमणिका ढूंढता है।
ORDER BY idx(array['Nails','Bolts','Washers','Screws','Staples','Nuts'], s.type)
इसका पालन करना बहुत आसान है। नाखूनों को पहले और नट को आखिरी में छांटा जाएगा। आप देख सकते हैं कि Postgres स्निपेट रिपॉजिटरी में idx फ़ंक्शन कैसे बनाया जाता है।http://wiki.postgresql.org/wiki/Array_Index