sql >> Database >  >> RDS >> Oracle

Bool-ondersteuning Oracle SQL

U kunt uw eigen omslag als volgt schrijven:

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;

Dan kun je het zo noemen:

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

Het verschil met uw wrapper is dat deze een varchar als invoer krijgt en geen boolean die de SQL-engine niet herkent




  1. Hoe Round() werkt in PostgreSQL

  2. SQLite GEVAL

  3. Pincode-database van India met locatiezoekerscript in php en jQuery

  4. Hoe duplicaten te verwijderen uit een door komma's gescheiden lijst door regexp_replace in Oracle?