2011-04-27 11 views
9

私が作業しているデータベースで、特定のタイムスタンプフィールドから年だけを選択したいとします。特に、私はこのデータベースの列からユニークな年を選択したいと考えています。SQLクエリでタイムスタンプの一部を選択する方法

たとえば、フィールド"ModifyTimeStamp"のタイムスタンプがすべて2002年または2006年のいずれかである場合は、単に「2002」および「2006」という結果が返されます。これが不可能なのであれば、私は、「2002年は2006年のものと混ざっている」という結果を得ることに満足し、後でそれを解析するだろう。

私がこれまでに働くことができたのは、"Select ModifyTimeStamp from Table"です。私の解析しようとする試みはすべて失敗しました。私はextractのSQLコマンドについて読んで始めましたが、それはPostgreSQLだけだと思います。

アドバイスをいただければ幸いです!

:回答ありがとう、datagodとMarc。私が終わったビーイングを探していたコード:

"Select distinct YEAR(ModifyTimeStamp) from Table"

+0

? (また、ランダム情報:SQLサーバの 'timestamp'は日付または時刻とは関係ありません;-) –

+0

申し訳ありませんが、指定するのを忘れてしまいました。 MySQLデータベース – pghprogrammer4

答えて

10

をお試しください

  • のMySQL/SQL Serverの::組み込み関数を扱う

    select YEAR(modifytimestamp) from yourtable 
    
    回の
  • アクセス/ SQL Serverの:

    select DatePart(year, modifytimestamp) from yourtable 
    
  • オラクル:データベース

    select TO_CHAR(modifytimestamp, 'YYYY') from yourtable 
    
8

は、あなたが使っているどのRDBMS(データベースサーバ)を指定していないが、ほとんどのデータベースは日付を持っています。この

select distinct datepart(yy,TheDate) from YourTable
+1

これはMS SQL Serverでも機能しますが、他のRDBMSでも同様の機能呼び出しがあります。 –

+0

リファレンス:[SQL Server(2008)datepart](http://msdn.microsoft.com/en-us/library/ms174420.aspx) –

+1

ありがとうdatagod。私の実際のコマンドは少し違ったものになりましたが、あなたは私を正しいトラックに "distinct"キーワードで置きました。私は私の検索でそれを逃したと信じられない... – pghprogrammer4

関連する問題