2016-06-14 13 views
0

RedshiftのTIMESTAMP列の時間要素を比較するにはどうすればよいですか? 私が見つけた最も近い方法は、HOUR、MINUTE、SECOND要素にEXTRACTを複数回使用して結合することですが、非効率的です。私もplpythonu UDFを考えました。Redshiftの時間を効率的に比較する

ありがとうございます。

+0

postgresに 'postgres =#select now():: timestamp :: time - '2001.09.01 09:00' ::タイムスタンプ:: timeはdiffとなります。 diff ------------------ -00:50:56.267417 (1行) ' –

+0

@VaoTsun残念ながら、Redshiftでは動作しません。次のエラーが表示されます。 エラー:0A000:指定されたタイプまたは機能(INFOメッセージごとに1つ)は、Redshiftテーブルではサポートされていません。 – gilibi

+0

http://docs.aws.amazon.com/redshift/latest/dg/c_unsupported-postgresql-datatypes.html - うん - ちょうど読む –

答えて

0

は最終的に私は特定のニーズに合わせてplpythonuという単純なUDFを書いた:

は$$ インポート日時

開始AS BOOLEAN がIMMUTABLE RETURNS 機能compare_time(timestamp1_ TIMESTAMP、timestamp2_ TIMESTAMP)をCREATE OR REPLACE = datetime.time(timestamp1 .hour、timestamp1_.minute、timestamp1_second) end = datetime.time(timestamp2 .hour、timestamp2_.minute、timestamp2_second)

< = _end _startの場合:偽

リターン真 リターン$$ LANGUAGEのplpythonuという。

関連する問題