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

Oracleを学び、日付に基づいてブール値を設定する

    has_unpaid_billが必要です そもそも表の列? SYSDATEによって異なります 。要件はにおいがする 仮想列ですが、SYSDATEは使用できません それは決定論的関数ではないので、そこにあります。したがって、ビューはどうですか 代わりは?必要なデータをテーブルに保持しますが、ビューにクエリを実行します:

    表といくつかのサンプルレコード:

    SQL> create table test
      2    (id                  number,
      3     last_bill_paid_date date
      4    );
    
    Table created.
    
    SQL> insert into test values (1, date '2020-11-09');
    
    1 row created.
    
    SQL> insert into test values (1, date '2020-11-02');
    
    1 row created.
    

    表示:

    SQL> create or replace view v_test as
      2    select id,
      3           last_bill_paid_date,
      4           case when trunc(sysdate) - last_bill_paid_date > 5 then 'Y'
      5                else 'N'
      6           end has_unpai_dbill
      7    from test;
    
    View created.
    
    SQL>
    SQL> select * from v_test;
    
            ID LAST_BILL_ H
    ---------- ---------- -
             1 09.11.2020 N
             1 02.11.2020 Y
    
    SQL>
    



    1. 日時フィールドのUTCをどのように取得しますか?

    2. mysqlデータベースから最も近い地理的な場所を選択する最も速い方法は何ですか?

    3. ODP.NET を使用した ASP.NET Web サイトのデプロイ

    4. datagridviewの行の値を取得し、同じ行のボタンを使用して別のフォームに渡す方法