webForumDet fria alternativet

Sortering efter datum

Databaser & SQLur Databashanterare & SQL

2 svar · 289 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Hur går man tillväga för att, i SQL Server, sortera ett resultat efter en smalldatetime-kolumn (stigande) och samtidigt se till att de rader vars datum är '' eller NULL hamnar sist? Om jag bara sorterar efter datumkolumnen rakt av så hamnar ju NULL-datumen högst upp. :l

Jag kan ju köra något liknande detta

SELECT WHEN fooDate IS NULL THEN DATEADD(yyyy,100,GETDATE()) ELSE fooDate END

Men det kanske finns en enklare och pålitligare lösning?

Medlem sedan juni 200032 967 inlägg
#2

Ett värde kan inte vara tom sträng i ett fält av datumtyp, så det räcker att kolla null.

SELECT * FROM tabellen ORDER BY CASE WHEN fooDate IS NULL THEN 1 ELSE 0 END, fooDate

mvh

Medlem sedan apr. 20012 427 inlägg
#3

Tack!

130 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)