Jump to content
RAFAEL C D EMELO

comparacao de campo varchar2 com data

Recommended Posts

ola pessoal mais uma vez aqui pedindo ajuda !!!!

 

estou com uma tarefa aparentemente simples mas estou travado na conversao dos dados alguem poderia me ajudar

 

 

DECLARE

V_YEAR VARCHAR2(10);
V_MONTH VARCHAR2(10);
V_PREMIUM_START DATE;
V_PREMIUM_END DATE;
V_END_MONTH DATE;

BEGIN
 
  FOR REG IN (
        SELECT V.ATC_STARTDATE, V.ATC_ENDDATE,
                P.PREMIUMSTARTDATE,P.PREMIUMENDDATE,P.YEARPREMIUM,P.MONTHPREMIUM,P.AMOUNT,P.EXPOSURE,P.PAYMENTTYPE,
                P.FK_CLIENT, C.CLIENTKEY, V.FK_CLIENTKEY
        FROM GV_MANUAL_PREMIUM P, GV_MANUAL_CLIENT C, GV_MANUAL_VEHICLE V
        WHERE P.FK_CLIENT = C.CLIENTKEY
        AND   C.CLIENTKEY = V.FK_CLIENTKEY
        AND P.FK_CLIENT = 'RO14VOH*SME*SME*WARREN FINANCIAL SOLUTIONS LIMITED'
        AND P.YEARPREMIUM IN (2014)
        ORDER BY P.YEARPREMIUM, P.MONTHPREMIUM
  )
  LOOP
       DBMS_OUTPUT.PUT_LINE(REG.ATC_STARTDATE ||'  '|| REG.ATC_ENDDATE ||'  '|| REG.PREMIUMSTARTDATE ||'  '|| REG.PREMIUMENDDATE ||'  '|| REG.YEARPREMIUM
       ||'  '|| REG.MONTHPREMIUM ||'  '|| REG.AMOUNT ||'  '|| REG.EXPOSURE ||'  '|| REG.PAYMENTTYPE ||'  '|| REG.FK_CLIENT);
       DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------------------------');
       DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------------------------');
  
  IF REG.ATC_STARTDATE > REG.PREMIUMSTARTDATE
  AND to_char(REG.ATC_STARTDATE, 'MM')   = REG.MONTHPREMIUM
  AND to_char(REG.ATC_STARTDATE , 'YY') =  REG.YEARPREMIUM
   THEN
 
   DBMS_OUTPUT.PUT_LINE('ENTER');
  
   else
     DBMS_OUTPUT.PUT_LINE('not enter');
   
   END IF;
  END LOOP;
 
  END;


 
 

Eu tenho dois campos uma deles o ATC_STARTDATE  seria um campo data = 09-05-2015 e o campo PREMIUMMONTH e um campo varchar2 de 5 eu preciso fazer eles serem do mesmo tipo para comparalos no caso vou comparer o mesmo do campo ATC_STARTDATE usando somente o mes  para saber se e igual o mes do campo  PREMIUMMONTH

DESDE JA AGRADECO QUALQUER AJUDA.

Share this post


Link to post
Share on other sites

Como é o conteúdo de PREMIUMMONTH  ?

 

Desculpe , não entendi o problema , que conversão que fazer ?

 

De string para data ou data para string ?

Share this post


Link to post
Share on other sites

Opa boa tarde Motta de data pra string no caso [e um campo de data q preciso pegar so os digitos meses e transformer em varchar2, O CONTEUDO DO PREMIUMMONTH = meses mas em numerous tipo 1,2,3,4,5 mas foi criado em varchar2

 

Share this post


Link to post
Share on other sites

o

to_char(REG.ATC_STARTDATE, 'MM') 

vaitrazer valores como 01 , 02 , 03 ...10 , 11 e 12 para 1,2,3

 

faça

 

to_char(to_number(to_char(REG.ATC_STARTDATE, 'MM'))) 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By kadumx
      Boa noite pessoal,
       
      como posso migrar meus arquivos wordpress que estão em pasta www.site.com.br/novo para raiz www.site.com.br.
      Tentei seguir esse (  http://www.luisaambros.com/blog/como-trocar-o-wordpress-de-diretorio-na-mesma-hospedagem/ )mas quando chego na etapa 8 e 9 sou redirecionado para o painel antigo e não o novo.
       
      Agradeço se conseguir tirar essa dúvida.
    • By bitencourtgui
      Estou com uma duvida, ao fazer um select para preencher um campo se ele for igual a real ele deveria preencher ex: o item  1 no valor de 1 real o item 2 no valor de 2 e o item no valor de 3, porem nos três itens ele preenche apenas com o 1º item.
      o código Controller:
      <div class="container">   <div class="col-md-12"> <button id="btnProcessar" type="button" class="btn btn-primary" onclick="processEntSai('.$parameters.');"><span>Processar</span></button> </div>   <div class="row"> <div class="col-md-12"> <table cellpadding="5" id="tableItemNota" class="display dataTable cell-border compact" cellspacing="0" style="textalign:center; border-bottom:1px solid black;"> <thead> <tr style="border: 1px solid #ccc"> <th></th> <th>Item</th> <th>Imagem</th> <th>Qtd</th> <th>U.Medida</th> <th>Peso</th> <th>C&oacute;digo</th> <th>N&ordm; S&eacute;rie</th> <th>Tamanho</th> <th>Descri&ccedil;&atilde;o</th> <th>Coef.</th> <th>Moeda</th> <th>Valor Unit&aacute;rio</th> <th>Valor Total</th> </tr> </thead> <tbody>';   foreach($itemNFSaida as $item) { if(file_exists('uploads/produtos/'.$item['CODREF'].'.JPG')){ $img_url = BASE_URL.'/uploads/produtos/'.$item['CODREF'].'.JPG'; } else { $img_url = BASE_URL.'/assets/images/imgNotFound.png'; }   if($item['QTDDEV'] == $item[$qtdFatRec]){ $tdSelectBox = '<span class="glyphicon glyphicon-ban-circle"></span>'; } else{ $tdSelectBox = '<input type="checkbox" id="'.$item['NUMSEP'].'" name="checkSeq" value="'.$item[$seqCmp].'"/>'; }   if($item['USU_MOEVEN'] == 'AU'){ $item['valorEnt'] = $this->step5ModelObj->TotalentSaiComNota(10, $codFil, $numNota);   $item['PREUNI'] = $item['valorEnt']['USU_VLRMOE'];   } echo '<tr> <td class="order">'.$tdSelectBox.'</td> <td>'.$item[$seqCmp].'</td> <td><img src="'.$img_url.'" id="imgItemPed" data-codpro="'.$item['CODPRO'].'" onclick="itemModalDetalhes(this)"" style="width: 75px; border-radius: 5px; margin: 0px; cursor: pointer;"></td> <td>'.number_format($item['QTD'], 2, '.', '').'</td> <td>'.$item['UNIMED'].'</td> <td>'.number_format($item['PESBRU'], 2, '.', '').'</td> <td>'.$item['CODPRO'].'</td> <td>'.$item['NUMSEP'].'</td> <td>'.$item['CODDER'].'</td> <td>'.$item['CPL'].'</td> <td>'.number_format($item['USU_PREVEN'], 2, '.', '').'</td> <td>'.$item['USU_MOEVEN'].'</td> <td>'.number_format($item['PREUNI'], 2, ',', '').'</td> <td>'.number_format($item['VLRLIQ'], 2, ',', '').'</td> </tr>'; }   echo '</tbody> </table> </div> </div> </div>';
         
      O código da Model:
       
      public function TotalentSaiComNota($codEmp, $codFil, $numPed){ $sql = "SELECT USU_VLRMOE FROM E140IPV WHERE CODEMP = ? AND CODFIL = ? AND NUMNFV = ?";   $sql = $this->db->prepare($sql); $sql->execute(array($codEmp, $codFil, $numPed));   return $sql->fetch(); }      
      Resumindo preciso que não repita o item do select como está repetindo, preciso que traga os item do select 
       1. item 1 
      2. item 2
       3. item 3

      e não 
       1. item 1
       2. item 1
       3. item 1
    • By ludlima
      Boa noite,estou tentando executar um algoritmo no visualg que leia 100 números,descubra se existe números primos,se sim mostrar em que posição se encontra. Entretanto,o programa só está executando até onde mostra o vetor. Gostaria de ajuda de como terminar e realizar a verificação do número primo.
      Var
        num, cont, divisor: inteiro
        VET: vetor[0..99] de inteiro

      Inicio
         escreval ("Olá!Você quer saber se existe número primo? ")
         Para num <- 0 ate 99 faca
            Escreva("Digite o ", num, "o. valor: ")
            Leia(VET[num])
         FimPara
      LimpaTela
         escreva ("Vetor: ")
         para num <- 0 ate 99 faca
            escreva (VET[num])
         fimpara
         escreval ("")
         
      cont <- 0
      divisor <- 1
         Para num <- 0 ate 99 faca
      cont <- cont + 1
      divisor <- divisor + 1
         se (divisor <= num)e(num mod divisor = 0)e (cont = 2) entao
         EscrevaL("Valor", VET[num], " na posicao [",num, "] é Primo!")
      fimse
      fimpara

      Fimalgoritmo
    • By ludlima
      Boa noite,estou tentando fazer um algoritmo que leia 50 números e mostre em ordem crescente e decrescente ao usuário,preciso utilizar vetor. Até agora só conseguir fazer a parte crescente. Alguém tem alguma dica de como fazer a parte decrescente?
       
      Var
      CONTADORA, CONTADORB: inteiro
      NUM, AUX: inteiro
      VET: vetor[0..49] de inteiro
      Inicio
         para CONTADORA de 0 ate 49 faca
         escreval ("Digite um número")
         leia (NUM)
         VET[CONTADORA] <- NUM
      fimpara
      para CONTADORA de 0 ate 48 faca
         para CONTADORB de CONTADORA + 1 ate 49 faca
            se VET[CONTADORA] > VET[CONTADORB] entao
               AUX <-VET[CONTADORB]
               VET[CONTADORB] <- VET[CONTADORA]
               VET[CONTADORA] <- AUX
            fimse
         fimpara
      fimpara
      escreval("A ordem crescente dos números é: ")
      para CONTADORA de 0 ate 49 faca
         escreva(VET[CONTADORA])
      fimpara
      Fimalgoritmo
       
    • By C.SALLES
      Faça um programa leia dois números inteiros e utilize uma função SOMAR que receba esses dois números por parâmetro e retorne a soma dos números inteiros existentes entre eles.
      Sou iniciante em programação e tentei fazer o programa da tal forma:
       
      #include<stdlib.h>
      #include<math.h>
      #include<stdio.h>
      int SOMAR((((int soma;i;n1;n2))))
      {
          return; 
           for (i=n1+1; i<n2; i++) {  
          soma += i; 
          } 
      }
      int main() { 
      int n1, n2; 
      printf("Informe os números: "); 
      scanf("%d %d", &n1, &n2);  
      printf("\nSoma: %d\n", SOMAR(soma)); 
      return 0; 
      system ("pause");
      }
       
      Não roda por vários motivos e sinceramente sei nem como resolver
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.