Advertisement
fahadkalil

plpgsql_ex_iniciais

Aug 16th, 2022
1,471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- 1)
  2. DO
  3. $$
  4. DECLARE
  5.     nome VARCHAR := 'Fahad';
  6.     sobrenome VARCHAR := 'Kalil';
  7. BEGIN
  8.     raise notice '%#%', nome, sobrenome;
  9. END;
  10. $$;
  11.  
  12. -- 2)
  13. DO
  14. $$
  15. DECLARE
  16.     data_atual DATE := NOW()::DATE;
  17.     ultimo_dia integer;
  18.     dia_atual integer;
  19.     ano integer;
  20.     mes integer;
  21. BEGIN
  22.     ultimo_dia := (SELECT EXTRACT(DAY FROM (SELECT (date_trunc('MONTH', NOW()::DATE) + INTERVAL '1 MONTH - 1 day')::DATE)));
  23.     dia_atual := (SELECT EXTRACT(DAY FROM data_atual));
  24.     mes := (SELECT EXTRACT(MONTH FROM data_atual));
  25.     ano := (SELECT EXTRACT(YEAR FROM data_atual));
  26.     raise notice '%/%/%', dia_atual, mes, ano;
  27.     raise notice 'Ultimo dia: %', ultimo_dia;
  28.     raise notice 'faltam % dias para acabar o mes', (ultimo_dia - dia_atual);
  29. END;
  30. $$;
  31.  
  32. -- 3)
  33.  
  34. DO
  35. $$
  36. DECLARE
  37.     counter integer := 0;
  38.     numero INTEGER := 5;
  39. BEGIN
  40.     LOOP
  41.         exit WHEN counter = 10;
  42.         counter := counter +1;
  43.         raise notice '%X% = %', numero, counter, (numero * counter);
  44.     END LOOP;
  45. END;
  46. $$;
  47.  
  48. -- 4)
  49. DO
  50. $$
  51. DECLARE
  52.     minutos integer := 30;
  53. BEGIN
  54.     raise notice '% minutos é igual a % horas', minutos, (minutos::FLOAT/60);
  55. END;
  56. $$;
  57.  
  58. -- 5)
  59. DO
  60. $$
  61. DECLARE
  62.     ano_atual INTEGER := (SELECT EXTRACT(YEAR FROM NOW()::DATE));
  63. BEGIN
  64.     IF (ano_atual%2 = 0) THEN
  65.         raise notice 'é par';
  66.     ELSE
  67.         raise notice 'não é par';
  68.     END IF;
  69. END;
  70. $$;
  71.  
  72. -- 6)
  73. DO
  74. $$
  75. DECLARE
  76.     ano_atual INTEGER := (SELECT EXTRACT(YEAR FROM NOW()::DATE));
  77. BEGIN
  78.     IF ((ano_atual%4 = 0) AND (ano_atual%100 != 0)) OR (ano_atual % 400 = 0) THEN
  79.         raise notice 'ano bissexto';
  80.     ELSE
  81.         raise notice 'ano não é bissexto';
  82.     END IF;
  83. END;
  84. $$;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement