Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Procédure stockée dans SQL Server (ordre par desc) ?

Utilisez ORDER BY videos.posteddate

  select distinct top 5
     videos.videoid,
     videos.videotitle,
     videos.videoname,
     convert(varchar,videos.posteddate,106) as  posteddate,
     videos.approvedstatus,
     videos.videoimage,
     (ISNULL(videos.views,0.0)) as [views],
     videos.privacy,
     (isnull(videos.rating,0.0)) as rating,
     videos.userid,
     users.userid,users.username
  from
     videos
     left outer join
     users on videos.userid=users.userid
  where
     videos.approvedstatus='Y' and videos.privacy='P'
  order by
     videos.posteddate desc

Votre original est l'équivalent de ORDER BY convert(varchar,videos.posteddate,106) DESC

Vous triez donc par chaîne "jj mon aaaa", et non par la date et l'heure réelle souhaitée (aaaa-mm-jj hh, etc.)

Je suppose que c'est SQL Server 2000 :de mémoire, SQL Server 2005 n'acceptera pas cette ambiguïté