sql >> Database >  >> RDS >> Sqlserver

Wat is de MS SQL Server-mogelijkheid vergelijkbaar met de MySQL FIELD()-functie?

Gebruik een CASE-expressie (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

U kunt deze syntaxis gebruiken voor complexere evaluatie (inclusief combinaties, of als u LIKE moet gebruiken)

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


  1. rs.last() geeft ongeldige bewerking voor alleen doorsturen resultatenset:last

  2. Basisprincipes van SQL Server Inner Join met voorbeelden

  3. Evolutie van fouttolerantie in PostgreSQL:synchrone commit

  4. PostgreSQL breedtegraad lengtegraad query