Advertisement
joaofabioma

Conversao situacao

Jun 24th, 2025
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. CREATE TYPE situacaobool AS ENUM ('Ativo', 'Inativo'); -- (TRUE=Ativo, FALSE=Inativo)
  3. CREATE TYPE situacaoint AS ENUM ('Ativo', 'Inativo'); -- (1=Ativo, 0=Inativo)
  4.  
  5. CREATE OR REPLACE FUNCTION bool2situacao(boolean)
  6. RETURNS situacaobool AS $$
  7. BEGIN
  8.   RETURN CASE WHEN $1 THEN 'Ativo'::situacaobool ELSE 'Inativo'::situacaobool END;
  9. END;
  10. $$ LANGUAGE plpgsql IMMUTABLE;
  11.  
  12. CREATE OR REPLACE FUNCTION int2situacao(integer)
  13. RETURNS situacaoint AS $$
  14. BEGIN
  15.   RETURN CASE WHEN $1 = 1 THEN 'Ativo'::situacaoint ELSE 'Inativo'::situacaoint END;
  16. END;
  17. $$ LANGUAGE plpgsql IMMUTABLE;
  18.  
  19. CREATE CAST (boolean AS situacaobool) WITH FUNCTION bool2situacao(boolean) AS IMPLICIT;
  20. CREATE CAST (integer AS situacaoint) WITH FUNCTION int2situacao(integer) AS IMPLICIT;
  21.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement