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

Betinget SQL ORDER BY ASC/DESC for alfakolonner

Én mulighed

;WITH cQuery AS
(
   SELECT
       *,
       ROW_NUMBER() OVER (ORDER BY SortColumn) AS RowNum
   FROM
       MyTable
)
SELECT
   *
FROM
   cQuery
ORDER BY
   RowNum * @Direction --1 = ASC or -1 = DESC

Eller CASE som IMHO er lidt grimmere

ORDER BY
  CASE WHEN 'ASC' THEN SortColumn ELSE '' END ASC,
  CASE WHEN 'DESC' THEN SortColumn ELSE '' END DESC


  1. Hvad er de vigtigste ydelsesforskelle mellem varchar og nvarchar SQL Server-datatyper?

  2. Opret et forhold i SQL Server 2017

  3. Django bulk_create med ignorer rækker, der forårsager IntegrityError?

  4. Hvad er den maksimale størrelse på VARCHAR2 i PL/SQL og SQL?