postgresql
日付、タイムスタンプ、および間隔
サーチ…
文字列にタイムスタンプまたは間隔をキャストする
to_char()
関数を使用すると、 timestamp
またはinterval
値を文字列に変換できます。
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');
この文は、文字列 "12 Aug 2016 04:40:32 PM"を生成します。書式設定文字列は、さまざまな方法で変更できます。テンプレートパターンの完全なリストはここで見つけることができます 。
書式設定文字列にプレーンテキストを挿入することもできます。また、任意の順序でテンプレートパターンを使用できます。
SELECT to_char('2016-08-12 16:40:32'::timestamp,
'"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');
これにより、「今日は土曜日、2016年8月の12日」という文字列が生成されます。ただし、プレーンテキストが二重引用符で囲まれていない限り、テンプレートパターン(「I」、「D」、「W」などの単一の文字も)が変換されることに注意してください。安全対策として、上記のようにすべてのプレーンテキストを二重引用符で囲む必要があります。
TM(翻訳モード)修飾子を使用して、選択した言語(日および月の名前)に文字列をローカライズすることができます。このオプションは、PostgreSQLを実行しているサーバまたはそれに接続しているクライアントのローカライズ設定を使用します。
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');
スペインのロケール設定では、 "Sábado、12 de Agosto delaño2016"が生成されます。
月の最終日を選択
月の最終日を選択できます。
SELECT (date_trunc('MONTH', ('201608'||'01')::date) + INTERVAL '1 MONTH - 1 day')::DATE;
201608
は変数で置き換え可能です。
1週間あたりのレコード数を数える
SELECT date_trunc( 'week'、<>)AS "Week"、count(*)FROM <> GROUP BY 1 ORDER BY 1;
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow