2012-04-17 27 views
1

私は1000レコードのテーブルを持っています。 1つの列は公開日付で、形式は'2008-01-02 00:00:00.000'です。私は最新の公開日を持つレコードを取得するためにSQL DBを照会したいと思います。私はちょうど比較を行う必要がありますかいくつかの他のフィルタがありますか?あなたは最高の公開日付を持つすべての書籍をしたい場合はSQLの日付比較

SELECT TOP 1 * FROM mytable ORDER BY publishdate DESC 

は、ケイドルーのクエリを使用します。あなただけのレコードをしたい場合は

+0

であれば、 '2008-01-02 00:00:00.000'タイプ' DATETIME'または 'CHAR'?。 'DATETIME'でない場合は、1月2日か2月1日を表しますか? – Lamak

答えて

4
SELECT * FROM tbl WHERE publishdate = (SELECT MAX(publishdate) FROM tbl) 
+0

ありがとう、BTWどのように私はこの出版日を 'mm/dd/yy'に変換するのですか? – JNPW

+1

@javaiText 'CONVERT(varchar(8)、publishdate、1) - http://msdn.microsoft.com/en-us/library/ms187928.aspxを参照してください –

3

+0

この公開日を「mm/dd/yy 'はSQLで? – JNPW

+1

日付の書式設定についてはこのリンクを参照してください。ただし、書式を設定した後、返される日付は実際にはDateデータ型ではなくtext(varchar)データ型になります。日付はそのままで、サーバーの格納方法を変更することはできません。書式を使用してSQL Serverに特定の方法で表示するよう指示することしかできません。 http://stackoverflow.com/questions/759292/to-change-date-format-in-sql – David

0

publishdateだから日時

SELECT TOP 1 * 
FROM tbl 
ORDER BY publishdate DESC