

ポスグレデータベースを、AWSのdynamodbへ移行するためまずjson形式で抜き出したいと考えています。  
そのため複数のテーブルを範囲指定し、範囲内の全てのカラムをselect文をjson形式に出力するため以下の文を考えました。

[code]

    SELECT to_json(table_100) from table_100 date(timestamp) BETWEEN '198707050010' AND '202007052400';
    
[/code]

しかしこのままではbetweenでsintax errorが出てしまいます。

ポスグレデータベースを、AWSのdynamodbへ移行する、手順、長い道のりになりますがご教授おねがいします。


CC BY-SA 4.0
2020-05-06T14:15:32.160
66353
2020-07-09T17:05:48.113
2020-07-09T17:05:48.113
3060
36855
question
json postgresql amazon-dynamodb
ポスグレデータベースを、AWSのdynamodbへ移行するためまずjson形式で抜き出したいと考えています。


質問文に書かれてるSQLの問題点は2つほどありそうです。

この2点を対応してもまだエラーが出る場合、表示されたエラーメッセージと共に **新しく別の質問を投稿してください。**

  1. 条件の前に `WHERE` が書かれていない
  2. 条件の日付書式(フォーマット)が誤っている 
    * 日付と時間を指定する場合、間にスペースが必要です

修正後のSQLは以下のようになるかと思います。

[code]

    SELECT to_json(table_100)
    FROM table_100
    WHERE date(timestamp) BETWEEN '19870705 0010' AND '20200705 2400';
    
[/code]

* * *

また、 `date()` を使用しているので、時間の指定はほぼ意味をなさないかと思います。 `'20200705 2400'` の場合、
`2020-07-06` のデータは取得できません。

`2020-07-06` のデータも取得する場合、条件を `'2020-07-06'` や `'20200706'` に変更してください。  
(`'2020-07-05'` までのデータで問題なければ、修正の必要はありません)

PostgreSQLで使用可能な日付の書式の一例は、ドキュメントを参照してください。

<https://www.postgresql.jp/document/12/html/datatype-datetime.html#DATATYPE-
DATETIME-DATE-TABLE>


CC BY-SA 4.0
2020-05-07T06:14:43.110
66379
2020-05-07T06:14:43.110
3068
66353
answer