sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cuál es la capacidad de MS SQL Server similar a la función MySQL FIELD()?

Use una expresión CASE (Servidor SQL 2005+):

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

Puede usar esta sintaxis para una evaluación más compleja (incluyendo combinaciones, o si necesita usar 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