サーチ…


文字列にタイムスタンプまたは間隔をキャストする

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