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

ブールサポートOracleSQL

    次のように独自のラッパーを作成できます:

    CREATE OR REPLACE FUNCTION my_bool_to_str(f varchar2) RETURN VARCHAR2 IS
    
      b varchar2(2);
    
    BEGIN
    
      EXECUTE IMMEDIATE 'declare bl boolean; begin bl := ' || f ||
                        '; if bl then :1 := ''y''; else :1 := ''n''; end if; end;'
        using out b;
    
      return b;
    
    END;
    

    次に、次のように呼び出すことができます:

    SELECT part_no,
           my_bool_to_str('stock_pkg.is_in_stock('|| part_no|| ')') in_stock
    FROM   parts_table
    

    ラッパーとの違いは、SQLエンジンが認識しないブール値ではなく、入力としてvarcharを取得することです。




    1. postgresでシーケンスをリセットし、id列に新しいデータを入力するにはどうすればよいですか?

    2. MySQLでSTRAIGHT_JOINを使用する場合

    3. OracleSQLピボットクエリ

    4. Createuser:データベースに接続できませんでしたpostgres:致命的:ロールtomが存在しません