none
comando sql RRS feed

  • Pergunta

  • Utilizo o seguinte comando sql para pegar o valor entre as datas

    "select * from ATENDIMENTO WHERE USUARIO_ATENDIMENTO ='" + cbopcao.Text + "' and DATA_ATENDIMENTO >= '" + mini.Text + "' AND DATA_ATENDIMENTO <='" + mfim.Text + "'"

    nisso o mfim ele nao pega a data = a ele, exemplo se eu colocar para buscar os dados dos dias 01/07/2014 até 07/07/2014 dados do dia 07/07/2014 não vem, aparece somente ate o dia 06/07/2014 pra traz, oque pode esta ocorrendo sera que pode ser o comando que esta errado ?


    Atenciosamente,
    José Henrique Sabino

    quarta-feira, 9 de julho de 2014 17:42

Respostas

  • Deleted
    quarta-feira, 9 de julho de 2014 18:51
  • José Sabino,

    Acredito que você esta trabalhando com SQL Dinâmico através de uma aplicação

    Em qual parte do Código, você deseja fazer o Cast?

    "select * from ATENDIMENTO WHERE USUARIO_ATENDIMENTO ='" + cbopcao.Text + "' and Cast(DATA_ATENDIMENTO as Date)>= '" + mini.Text + "' 
    AND Cast(DATA_ATENDIMENTO as Date) <='" + mfim.Text + "'"

    Tome cuidado em utilizar o Convert ou Cast no Where pois isso força o SQL Server a recompilar todo plano de execução da query.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 16 de julho de 2014 17:06

Todas as Respostas

  • mini e mfim são textbox?
    quarta-feira, 9 de julho de 2014 18:04
  • José caso você esteja usando o campo do tipo datetime a hora pode estar influenciando sua consulta, neste caso você deve utilizar o comando cast(DATA_ATENDIMENTO as date) para comparar as datas sem levar em consideração a hora.
    quarta-feira, 9 de julho de 2014 18:26
  • Deleted
    quarta-feira, 9 de julho de 2014 18:51
  • como utilizar esse comando cast(DATA_ATENDIMENTO as date)  no meu select, tentei colocar ele mais não deu certo


    Atenciosamente,
    José Henrique Sabino

    quinta-feira, 10 de julho de 2014 12:09
  • José Sabino,

    Acredito que você esta trabalhando com SQL Dinâmico através de uma aplicação

    Em qual parte do Código, você deseja fazer o Cast?

    "select * from ATENDIMENTO WHERE USUARIO_ATENDIMENTO ='" + cbopcao.Text + "' and Cast(DATA_ATENDIMENTO as Date)>= '" + mini.Text + "' 
    AND Cast(DATA_ATENDIMENTO as Date) <='" + mfim.Text + "'"

    Tome cuidado em utilizar o Convert ou Cast no Where pois isso força o SQL Server a recompilar todo plano de execução da query.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 16 de julho de 2014 17:06