RedshiftのTIMESTAMP列の時間要素を比較するにはどうすればよいですか? 私が見つけた最も近い方法は、HOUR、MINUTE、SECOND要素にEXTRACTを複数回使用して結合することですが、非効率的です。私もplpythonu UDFを考えました。Redshiftの時間を効率的に比較する
ありがとうございます。
RedshiftのTIMESTAMP列の時間要素を比較するにはどうすればよいですか? 私が見つけた最も近い方法は、HOUR、MINUTE、SECOND要素にEXTRACTを複数回使用して結合することですが、非効率的です。私もplpythonu UDFを考えました。Redshiftの時間を効率的に比較する
ありがとうございます。
は最終的に私は特定のニーズに合わせて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という。
postgresに 'postgres =#select now():: timestamp :: time - '2001.09.01 09:00' ::タイムスタンプ:: timeはdiffとなります。 diff ------------------ -00:50:56.267417 (1行) ' –
@VaoTsun残念ながら、Redshiftでは動作しません。次のエラーが表示されます。 エラー:0A000:指定されたタイプまたは機能(INFOメッセージごとに1つ)は、Redshiftテーブルではサポートされていません。 – gilibi
http://docs.aws.amazon.com/redshift/latest/dg/c_unsupported-postgresql-datatypes.html - うん - ちょうど読む –