Translate

quinta-feira, 31 de julho de 2014

SQL - Trazer intervalo de anos

Precisei em uma ocasião fazer um combo em HTML que trouxesse os anos começando em 2014 até o ano atual + 1. Usei a query abaixo. Bom guardar pois nunca se sabe.

select distinct (to_char(to_date('2014','YYYY'),'yyyy') - 1 + level) ano   
from  dual
where  (to_char(to_date('2014','YYYY'),'yyyy') - 1 + level) <= to_char(sysdate,'yyyy') + 1 
connect by level < 30
/* ((last_day(to_date('01/02/2014','DD/MM/YYYY'))  - to_date('01/02/2014','DD/MM/YYYY'))) */
order by 1 asc  

terça-feira, 22 de julho de 2014

PL/SQL - Função para remover caracteres especiais

Função para remover caracteres especiais

function fun_remove_char_esp(texto in varchar2) return varchar2 is
    
    begin
      return translate(texto,'ÑÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕÄËÏÖÜÇñáéíóúàèìòùâêîôûãõäëïöüç.-!"''`#$%().:[/]{}¨+?;ºª°§&´*<>','NAEIOUAEIOUAEIOUAOAEIOUCnaeiouaeiouaeiouaoaeiouc');
    end;

segunda-feira, 21 de julho de 2014

JavaScript - Retornar o texto de um ComboBox

Função javaScript para retornar o texto (não o ID), de uma comboBox:

<html>
<head>
<title>Retornar o texto de um Combo</title>
</head>
<body>
<form name="frmTeste" action="" method="post" onsubmit="return retornaTexto()">
Selecione uma cidade:
<select name="optCidade">
<option value=""></option>
<option value="1">Sao Paulo</option>
<option value="2">Rio de Janeiro</option>
<option value="3">Vitoria</option>
<option value="4">Curitiba</option>
<option value="5">Salvador</option>
</select>
<br><br>
<input type="submit" value="OK">
</form>
</body>

<script type="text/javascript">
function retornaTexto(){
var objRadio = document.forms["frmTeste"].elements["optCidade"];
var objSel = document.forms["frmTeste"].elements["optCidade"].selectedIndex;
if (objRadio.value != 0){      
 alert("Cidade Escolhida: "+ objRadio.options[objSel].innerText);     
}else{
 alert("Favor selecionar uma opcao!");
 return false;
  }
}
</script>
</html>

JavaScript - Substr

Exemplo de utilização de Substr em JavaScript

<html>
<head>
<title>Editor HTML Online</title>
</head>
<body>
<div style="text-align: left;">
marcio alexandre</div>

<div style="text-align: left;">
<input name="btn_marcio" type="button"  onclick="teste()" value="Substr" />
</div>
</body>
<script type="text/javascript" src="/jscripts/prototype.js"></script>
    <script type="text/javascript">

 function teste()
 {
   var str = "marcio alexandre";
        var res = str.substr(0, 6);
alert(res);
 }

</script>
</html>

sexta-feira, 18 de julho de 2014

JavaScript - Try e Catch

Try e Catch

Tratamento de Exceções e Erros


Try Catch é utilizado para executar um código passivel de erro e caso ocorra o erro na instrução Try, será executada a instrução dentro de Catch
Um bloco try pode possuir vários blocos de catch

try {
  // código a ser executado
} catch (ClasseDeExceção instânciaDaExceção) {
  // tratamento da exceção
}

quarta-feira, 16 de julho de 2014

JavaScript - Verificar se uma data é maior, menor ou igual a data atual

Código para verificar se uma data é menor, maior ou igual a data atual.

var data = "12/10/2013";

      var objDate = new Date();
      objDate.setYear(data.split("/")[2]);
      objDate.setMonth(data.split("/")[1]  - 1);//- 1 pq em js é de 0 a 11 os meses
      objDate.setDate(data.split("/")[0]);

      if(objDate.getTime() > new Date().getTime()){
        alert("O dia passado é maior que a data atual..");
      }
      if(objDate.getTime() < new Date().getTime()){
        alert("A data atual deve ser maior que a data fim do período de emissão");
      }      
      if(objDate.getTime() == new Date().getTime()){
        alert("Datas Iguais");
      }

sexta-feira, 4 de julho de 2014

Retornar valores de duas colunas separados por determinado caracter

Neste caso, temos duas colunas:

Coluna Tipo   - possue varios tipos separados por "|"
Coluna Valor - possue varios valores separados por "|"

Para cada posição da coluna Tipo, deve-se pegar o valor correspondente da segunda coluna e realizar a soma conforme o tipo:

declare

  v_tp_pagamento owa_util.vc_arr;
  v_vl_pagamento owa_util.vc_arr;
  v_ca number := 0;
  v_cc number := 0;
  
begin
  for reg in (select 'EX|CCCA5549|CA' tipo
                    ,'0|376.66|855.52'     valor 
              from    dual
              union
              select 'EX|CCCA5549|CA' tipo
                    ,'0|356.32|154.32'     valor 
              from    dual) 
  loop
    v_tp_pagamento := fun_separa_texto(reg.tipo,'|');
    v_vl_pagamento := fun_separa_texto(reg.valor,'|');
    
    for x in v_tp_pagamento.first..v_tp_pagamento.last
    loop
      if v_tp_pagamento(x) = 'CA'
      then
        v_ca := v_ca + to_number(v_vl_pagamento(x), 'FM999999999990D90', 'NLS_NUMERIC_CHARACTERS=.,');
        dbms_output.put_line(v_vl_pagamento(x));
      elsif instr(v_tp_pagamento(x),'CC') > 0
      then
        v_cc := v_cc + to_number(v_vl_pagamento(x), 'FM999999999990D90', 'NLS_NUMERIC_CHARACTERS=.,');
        dbms_output.put_line(v_vl_pagamento(x));
      end if;
    end loop;
  end loop;
  
  dbms_output.put_line('v_ca := ' || v_ca);
  dbms_output.put_line('v_cc := ' || v_cc);
end; 


Resultado:

356.32
154.32
376.66
855.52
v_ca := 1009,84

v_cc := 732,98

Separar um texto após determinado caracter

Query para separar um texto após determinado caracter

select REGEXP_SUBSTR(str, exp, 1, level) lista
from (select 'BRASIL|CAMPEAO|DO|MUNDO' str, '[^|]+' exp 
      from dual) 
connect by REGEXP_SUBSTR(str, exp, 1, level) is not null;