sql >> Database >  >> RDS >> Sqlserver

Voorwaardelijke SQL ORDER DOOR ASC/DESC voor alfakolommen

Een optie

;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

Of CASE die IMHO een beetje lelijker is

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


  1. Genereer een willekeurige datum in Oracle met DBMS_RANDOM

  2. ProxySQL uitvoeren als een helpercontainer op Kubernetes

  3. Tijdelijke oplossing voor ORA-00997:illegaal gebruik van LONG datatype

  4. Wat is SQLite-browser en hoe gebruik je het?