Hvert udtryk bliver evalueret som en bool og behandlet som 0 for falsk og 1 for sand og sorteret korrekt. Selvom dette virker, er logikken svær at følge (og dermed fastholde). Det, jeg bruger, er en funktion, der finder en værdis indeks i et array.
ORDER BY idx(array['Nails','Bolts','Washers','Screws','Staples','Nuts'], s.type)
Dette er meget nemmere at følge. Søm sorteres først og nødder sorteres sidst. Du kan se, hvordan du opretter idx-funktionen i Postgres snippets repository.http://wiki.postgresql.org/wiki/Array_Index