2016-09-17 12 views
0

月をlast_updated_time列からBIZ_TRANSACTIONに取得するクエリで構文エラーが発生しました。ここで、last_updated_timeはミリ秒単位で格納されています。では、どうすればdate_part()の機能を適用できますか? 次のクエリを使用しましたが、構文エラーがdate_part()の近くに表示されます。PostgreSQLのdate_part関数で構文エラーが発生しました

SELECT date_part('month',to_timestamp(LAST_UPDATED_TIME/1000)); 
FROM BIZ_TRANSACTION 
+0

http://stackoverflow.com/questions/7775187/month-function-and-year-function-in-postgresql-through-jpa2 –

答えて

2

は私が正しくあなたの質問を理解していれば、あなたはそのような何かをしたいです。

タイムスタンプをchar型に変換すると、テキストとテキストになるので、入力の種類に一致する関数はありません。

また、タイムスタンプから月の数値を取得するときにタイムスタンプをcharにキャストするための余計なオーバーヘッドです。フォーマットは、その場合の任意の違いを確認しないと、あなたが9.5バージョンのdate_part機能の

select date_part('month', to_timestamp(last_updated_time/1000)) 
from biz_transaction 

リスト:-)あなたがちょうど発生したエラーが発生しないようにPostgresのデフォルトdatestyles上で動作するように優れています(\df date_partを入力して、psqlで自分の目で確かめてください):

Schema | Name | Result datatype |  Datatype of arguments 
------------+-----------+-------------------+----------------------------------- 
pg_catalog | date_part | double precision | text, abstime      
pg_catalog | date_part | double precision | text, date       
pg_catalog | date_part | double precision | text, interval      
pg_catalog | date_part | double precision | text, reltime      
pg_catalog | date_part | double precision | text, time with time zone   
pg_catalog | date_part | double precision | text, time without time zone  
pg_catalog | date_part | double precision | text, timestamp with time zone  
pg_catalog | date_part | double precision | text, timestamp without time zone 
0

DATE_PART関数はtext型とそれぞれの時間/日付/期間のいくつかのタイプの2つの引数をrequries:

SELECT date_part('month', timestamp TO_CHAR(TO_TIMESTAMP(LAST_UPDATED_TIME/1000), 'DD/MM/YYYY HH24:MI:SS')) 
FROM BIZ_TRANSACTION 
関連する問題