例:私のタイムスタンプ:2018-01-01 00:00:00.000 in table tempとfield temp_date。 SQLで2018年から2016年に更新したいです。どうやって ?postgresのタイムスタンプフィールドの一部を更新するには?
答えて
UPDATE temp
SET temp_date = temp_date - interval '2 years'
WHERE EXTRACT (YEAR FROM temp_date) = 2018;
正確な年に設定する場合は、あなたがすべてでWHERE
句を使用していない場合は、あなたのWHERE
句は今年以外のものを使用した場合、または:
UPDATE temp
SET temp_date = temp_date +
(2016 - EXTRACT(YEAR FROM temp_date) || ' years')::interval
WHERE foo = 'bar';
詳細については、the mailing listを参照してください。
試してみてください。
UPDATE temp
SET temp_date = temp_date - (date_trunc('year', temp_date) - date '2016-1-1')
以上更新が
が残り、日付部分(月 - 日 - 時間など)を残して、テーブル内のすべての日付に「2016」を割り当て、そのまま
これは質問には触れません。さらに、_all_行は、年がすでに2016年になっていても更新されますが、それは大きなテーブルでは非常に非効率的です。そして、2014年の 'temp_date'はどうでしょうか? – Patrick
@Patrick、あなたは絶対に正しいです、これは非常に非常に非常に非効率的です。しかし誰もが簡単な 'WHERE'条件を使ってこの問題を非常に簡単に解決できます。 「2014」に関しては、2016年にも「置き換えられました」と、このクエリで遊んでください。 – krokodilko
それは別のケースでは、感謝を使用することができます! –
- 1. 更新タイムスタンプフィールドのトリガー
- 2. mysqlテーブルのタイムスタンプフィールドを更新するには?
- 3. Postgres 9.5の更新内部jsonフィールド
- 4. Postgres - where句の一部でもあるカラムを更新中のデッドロック
- 5. 部分的にスパークデータフレームを更新する(一部の行を更新する)
- 6. 更新私のPostgresデータベースにPostgresのJSON
- 7. ページの一部を更新する(div)
- 8. ページの一部を更新する
- 9. レコードファイアベースの一部を更新する
- 10. Postgresは、古い部分の値とhstoreの値を更新レール
- 11. RecyclerView.ViewHolderの一部更新
- 12. MongoDB、配列の一部のみを更新するには?
- 13. SDLのウィンドウの一部だけを更新するには?
- 14. wxPython - GUIの一部を更新/更新する
- 15. Knockout.jsマッピング。ビューモデルの一部だけを更新するには?
- 16. netCDFファイルの一部を更新するには?
- 17. 更新一致するパターンに基づいた列の一部
- 18. PostgresシーケンスのテーブルIDを更新する
- 19. Postgres複数の行を更新する
- 20. Laravelスキーマビルダー、null可能なタイムスタンプフィールドを更新する
- 21. MVCのキャッシュページの一部を動的に更新する
- 22. アクティビティの一部だけをアニメーション化/更新する方法は?
- 23. Postgresの更新JSONフィールド
- 24. 更新列の値はPostgresの
- 25. コレクションの更新時にテンプレートの一部を更新するにはどうすればよいですか?
- 26. ログスタッシュに新しいタイムスタンプフィールドを追加するには?
- 27. Django/Postgresの処理自然な外部キーカスケード更新
- 28. WCF REST APIレコードの一部更新
- 29. Postgresで行を更新するストアドファンクションを作成するには?
- 30. WagtailとPostgresの部分一致検索
どのようにしたい場合はすることができますいくつかの年を追加? –
私は想像していると思いますが、 SET temp_date = temp_date + interval '2 years' どこのエキストラート(temp_dateから)= 2018; –
'interval 'を使用して' interval'のように 'timestamp'の値から任意の時間量を加算または減算することができます。これは2年5ヶ月-1日12時間4秒です。 – Patrick