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

OracleでQuarterFromDateを取得するにはどうすればよいですか?

    以下に、PL/SQLおよびSQLクエリを使用してOracleの日付から四半期を取得するための2つの例を示します。

    OracleでPL/SQL関数(ストアド関数)を使用して四半期を取得

    次の関数は、日付パラメーターを受け取り、四半期を数値として返します。

    CREATE OR REPLACE FUNCTION get_quarter (p_date IN DATE)
    RETURN NUMBER
    AS
    l_qtr NUMBER;
    l_month NUMBER;
    BEGIN
    l_month := TO_CHAR (p_date, 'mm');
    
    IF l_month IN (1, 2, 3)
    THEN
    l_qtr := 1;
    ELSIF l_month IN (4, 5, 6)
    THEN
    l_qtr := 2;
    ELSIF l_month IN (7, 8, 9)
    THEN
    l_qtr := 3;
    ELSIF l_month IN (10, 11, 12)
    THEN
    l_qtr := 4;
    END IF;
    
    RETURN l_qtr;
    END get_quarter;

    テスト

    SELECT get_quarter (SYSDATE) FROM DUAL;

    出力

     QUARTER
    ----------
    3
    1 row selected.

    OracleでSQLクエリを使用して四半期を取得

    SELECT CASE
    WHEN TO_CHAR (SYSDATE, 'mm') IN (1, 2, 3) THEN 1
    WHEN TO_CHAR (SYSDATE, 'mm') IN (4, 5, 6) THEN 2
    WHEN TO_CHAR (SYSDATE, 'mm') IN (7, 8, 9) THEN 3
    WHEN TO_CHAR (SYSDATE, 'mm') IN (10, 11, 12) THEN 4
    END
    quarter
    FROM DUAL;

    出力

     QUARTER
    ----------
    3
    1 row selected.

    TO_CHAR関数の使用

    Select TO_CHAR(sysdate, 'Q') from dual;

    出力

     QUARTER
    ----------
    3
    1 row selected.

    関連項目:

    • Oracle日付関数|クイック例のリスト
    • OracleTo_Date関数の例
    • Oracleで前月のデータを取得する
    1. ビデオコンテンツをSQLiteデータベース(ビデオパスではなく)に保存する方法

    2. サードパーティのクラウド上のOracleRAC

    3. DATABASEPROPERTYEX()を使用して、SQLServerのデータベース設定を返します

    4. Oracle SELECTTOP10レコード