Ir para conteúdo
Santos_2015

If dentro de where [RESOLVIDO]

Recommended Posts

Galera,

preciso de uma ajuda aqui,

tenho campo do tipo data(Y-m-d) , dependendo de minha busca vou usa-ló com between ou não, segue sql:

 

...
where
	situacao like :situacao_pagamento 
and
	data_pagamento
		if(:data_inicio	and :data_fim = null,is null,
		between	:data_inicio and :data_fim)

tentei fazer com if

se data_incio e data_final (parâmetros passados) for null, recebe is null(para comparar com o campo data_pagamento), caso contrario iriar entrar no beween...

mas não rolou...

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

( (:data_inicio is null and :data_fim is null)

  or

(Data_pagamento between :data_inicio and :data_fim is null) )

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 07/09/2018 at 14:04, Motta disse:

( (:data_inicio is null and :data_fim is null)

  or

(Data_pagamento between :data_inicio and :data_fim is null) )

 

 

Exatamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A performance pode ser um problema todavia,

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, Motta disse:

A performance pode ser um problema todavia,

 

Já verifiquei isso, não teve uma boa performance, mas estou avaliando a viabilidade de fazer isso,pois é um select com "quebra", teve um impacto inesperado nas informações.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez com coalesce

 

Datapagamento between coalesce(:datade,datapagamento) and coslesce(:dataate,datapagamento)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 09/09/2018 at 15:47, Motta disse:

Talvez com coalesce

 

Datapagamento between coalesce(:datade,datapagamento) and coslesce(:dataate,datapagamento)

 

 não retornou nada, já havia tentado.. tentei dessa forma tambem:

           data_pagamento  between  coalesce(:data_inicio,null) and coalesce(:data_fim,null)

 

aqui está o problema estou verificando entre null e null, quando não passo nenhuma data.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faço assim como disse no Oracle com NVL.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Motta disse:

Faço assim como disse no Oracle com NVL.

 

No mysql não existe o NVL, não seria a mesma coisa do coalesce ou if null?

Compartilhar este post


Link para o post
Compartilhar em outros sites
20 horas atrás, Motta disse:

Para mim seria ...

Certo, mas tentei dessa forma, não consegui resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 10/09/2018 at 22:48, Motta disse:

Para mim seria ...

Resolvi dessa forma:

and

((:data_inicio is null and :data_fim is null) 
            or
(:data_inicio is not null and :data_fim is not null) and (desp.data_pagamento  between :data_inicio and :data_fim))

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por evandrogoncalves
      Eu preciso que o campo input tenha mais que uma linha, e tenha quebra de linha. Eu estou linkando em um código PHP onde mostrará o conteúdo atual no input e o usuário irá alterar o campo conforme queira, porém quando o texto é longo fica difícil achar o erro por aparecer tudo somente em uma linha. OBS : Tentei usar o TEXTAREA porém não consigo visualizar os dados, só escrever. 
    • Por artur0407
      Boa noite;
       
      Estou realizando testes com a biblioteca PDO para banco de dados com PHP;
      Logo de inicio estou realizando minha conexão com o banco utilizando um código simples nativo da biblioteca.
      No entanto, mesmo errando o código propositalmente e tendo setado todos os possíveis erros e tratando com o bloco "try catch" o php não me retorna erro de nenhuma forma.
       
      Abaixo ambos os códigos;
       
      Primeiro sem erros:
      <?php ini_set('display_errors',true); ini_set('display_startup_erros',1); error_reporting(E_ALL); $username = 'root'; $password = ''; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_CASE => PDO::CASE_NATURAL, PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING, PDO::ATTR_PERSISTENT => true ]; try { $conn = new PDO('mysql:host=localhost; dbname=test', $username, $password, $options); $conn->exec("set names utf8"); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } ?> Posteriormente com erro proposital (na string de conexão da classe PDO)
      <?php ini_set('display_errors',true); ini_set('display_startup_erros',1); error_reporting(E_ALL); $username = 'root'; $password = ''; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_CASE => PDO::CASE_NATURAL, PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING, PDO::ATTR_PERSISTENT => true ]; try { $conn = new PDO('mysql:hst=localhost; dbname=test', $username, $password, $options); $conn->exec("set names utf8"); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } ?> Observem que no construtor do pdo, no lugar de host escrevi 'hst' e o php não retorna erros!
       
      Como sou novo aqui, me desculpem algum erro de formatação na mensagem, obrigado!
    • Por BryanSamuel
      Eu gostaria de importar dados de uma planinha que esteja em .xls para mysql, por exemplo, tem uma página html simples onde o usuário vai enviar a planilha, e com isso eu quero importar para uma base de dados, mas tem um porém, por exemplo, tem uma coluna com o número da matrícula de cada aluno, eu gostaria de fazer uma verificação, para que se já existisse um aluno com a matrícula igual, atualizasse somente determinadas colunas, como por exemplo, a coluna turma e a coluna turno, eu sei que parece pedir demais mas eu sou bem novato em php e mysql, se alguém puder ajudar agradeço desde já, abraço. 
      obs. de preferência, se tiver como importar direto de .xls eu agradeço, mas caso só de com .csv também serve
    • Por sobrinnho
      Olá pessoal, sou novo aqui e preciso da ajuda de vocês, fiz um site no dreamweaver CS6 e preciso conectar ele no BD do meu servidor online, no localhost consigo fazer as conexões, mas na hora de configurar pra o online só aparece erros.

    • Por paulaodaregulage
      Boa noite,
      Alguém saberia me dizer, como eu poderia descobrir o caminho de um arquivo no pc pela página web.
       
      assim:
      <form method="post" action="" enctype="multipart/form-data"> <input type="file" name="arquivo" /> <!--ele so mostra o arquivo que foi clicado e n o caminho completo...--> <input type="submit" value="Enviar" /> </form> e ao clicar no arquivo(arquivo.pdf ou video.mp4) desejado ,ele me daria  o caminho deste ,para que eu pudesse enviar  este caminho para meu banco de dados(mysql)
       
      exemplo : pasta1\pasta2\arquivo.pdf
       
      pq estou tendo dificuldades para enviar arquivos em pdf ou mp4 para uma pasta via web
      e desse jeito eu só teria q colocar o arquivo ou o vídeo na pasta manualmente e depois na pagina web eu só teria que clicar neste caminho para que a página encontrasse.
       
       
       

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.