sql >> Base de Datos >  >> RDS >> Sqlserver

¿Procedimiento almacenado en SQL Server (ordenar por desc)?

Usa 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

Su original es el equivalente de ORDER BY convert(varchar,videos.posteddate,106) DESC

Por lo tanto, está ordenando por la cadena "dd mon yyyy", no por la fecha y hora real deseada (yyyy-mm-dd hh, etc.)

Supongo que esto es SQL Server 2000:desde la memoria, SQL Server 2005 no aceptará esta ambigüedad