sql >> データベース >  >> RDS >> PostgreSQL

postgresで月の最初の日付を取得する

    date_trunc('month', current_date)を使用できます 。 SELECTステートメントで示されます。 。 。

    select date_trunc('month', current_date)
    2013-08-01 00:00:00-04
    

    時間を削除するには、日付までキャストします。

    select cast(date_trunc('month', current_date) as date)
    2013-08-01
    

    列を常にする必要があると確信している場合 月の最初の1つだけを保存します。また、CHECK制約を使用する必要があります。

    create table foo (
      first_of_month date not null
      check (extract (day from first_of_month) = 1)
    );
    
    insert into foo (first_of_month) values ('2015-01-01'); --Succeeds
    insert into foo (first_of_month) values ('2015-01-02'); --Fails
    
    ERROR:  new row for relation "foo" violates check constraint "foo_first_of_month_check"
    DETAIL:  Failing row contains (2015-01-02).
    


    1. SQLAlchemyを使用したスト​​アドプロシージャの作成

    2. セッションのOracleCPU使用率をパーセンテージで表示

    3. 動的な.htaccess禁止の作成に関する問題

    4. シェルコマンドからデータベースを作成するにはどうすればよいですか?