我的表架構(表名稱股票)如何排序在SQL Server的Varchar日期2000
場
Date Datetime
如果Date
其數據類型是Datetime
那麼SQL服務器排序日期以及/完美訂購。見下面的例子。
select date from stock order by date
然後結果是:
Date(yyyy/MM/dd)
2010-04-02 00:00:00.000
2011-02-02 00:00:00.000
2011-02-03 00:00:00.000
2011-02-03 00:00:00.000
但如果我要鑄造VARCHAR排序相同比將最終創造出的問題,問題是它不會按日期順序排序日期它現在在Varchar中投射。
請看下面的例子:
select date = convert(varchar, date, 103) from stock order by date
然後結果是:
Date(dd/MM/yyyy)
02/02/2011
02/04/2010
03/02/2011
03/02/2011
你可以看到第二個查詢的結果,它不會爲了排序日期,因爲現在不是datetime數據類型。這是鑄造爲varchar或者你可以說它是字符串。
現在來到的一點:
如果我要排序這是在VARCHAR按日期比怎麼辦呢鑄造日期?
@marc_s,謝謝,但請閱讀我的問題的最後一行。 – mahesh 2011-02-05 08:48:42
@marc_s,你是指存儲日期爲數據類型日期,哦!來人SQL-Server-2000沒有數據類型日期。 – mahesh 2011-02-05 09:05:05
不,但SQL Server 2000 **具有** DATETIME數據類型 - 使用它! – 2011-02-05 09:05:39