0

2つの列を持つテーブルがあります 1) ProductId(int) 2) PublishDate(varchar) データは次のようになります

ProductId   PublishDate
73          22/01/97
56          17/09/90
56          01/09/90
69          15/05/13
69          09/05/13

このテーブルからレコードを取得する必要がありますが、PublishDate Order by Desc では、PublishDate が varchar であるため、これを行うことができません。誰か助けてください。

次のクエリを試しました:

SELECT T.ProductId,
       T.MYDATE
FROM
(
SELECT     ProductId, CONVERT(varchar(max), PublishDate , 101) AS MYDATE
FROM         DateValidation

) T
ORDER BY T.MYDATE DESC
4

3 に答える 3

0

SQLFIddel デモはこちら

以下はあなたが試すことができるクエリです

Select ProductId,
       Convert(Date,substring(PublishDate,4,3) + 
                    substring(PublishDate,1,3) + 
                    substring(PublishDate,7,2))               
  From DateValidation
 Order By 2 Desc
于 2013-08-16T09:18:07.267 に答える
0

これを試して

SELECT ProductId,CONVERT(date,PublishDate,3)
FROM DateValidation 
order by 2 desc
于 2013-08-16T09:36:24.320 に答える