Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Qual è la funzionalità di MS SQL Server simile alla funzione MySQL FIELD()?

Utilizzare un' espressione CASE (SQL Server 2005+):

ORDER BY CASE status
           WHEN 'active' THEN 1
           WHEN 'approved' THEN 2
           WHEN 'rejected' THEN 3
           WHEN 'submitted' THEN 4
           ELSE 5
         END

Puoi usare questa sintassi per valutazioni più complesse (comprese le combinazioni, o se devi usare LIKE)

ORDER BY CASE 
           WHEN status LIKE 'active' THEN 1
           WHEN status LIKE 'approved' THEN 2
           WHEN status LIKE 'rejected' THEN 3
           WHEN status LIKE 'submitted' THEN 4
           ELSE 5
         END