Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist die MS SQL Server-Fähigkeit ähnlich der MySQL FIELD()-Funktion?

Verwenden Sie einen CASE-Ausdruck (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

Sie können diese Syntax für komplexere Auswertungen verwenden (einschließlich Kombinationen oder wenn Sie LIKE verwenden müssen)

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