Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gespeicherte Prozedur in SQL Server (Reihenfolge nach Desc)?

Verwenden Sie 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

Ihr Original ist das Äquivalent von ORDER BY convert(varchar,videos.posteddate,106) DESC

Sie sortieren also nach der Zeichenfolge "dd mon yyyy", nicht nach der gewünschten tatsächlichen Datumszeit (yyyy-mm-dd hh usw.)

Ich denke, das ist SQL Server 2000:Aus dem Gedächtnis akzeptiert SQL Server 2005 diese Mehrdeutigkeit nicht