Usuário com melhor resposta
comand sql

Pergunta
-
Tenho o seguinte select
"select * from ATENDIMENTO WHERE STATUS_ATENDIMENTO ='" + cbopcao.Text + "' and CAST(FLOOR(CAST(DATA_ATENDIMENTO AS float)) AS datetime) >= '" + mini.Text + "' AND CAST(FLOOR(CAST(DATA_ATENDIMENTO AS float)) AS datetime) <='" + mfim.Text + "'", connection);
Assim ele me retorna a data no seguinte formato
12/02/2014 10:40:00 ( mes/dia/ano)
quero que ele retorne assim (dia/mes/ano)
Atenciosamente,
José Henrique Sabino
Respostas
-
José,
Analisando o seu código, você esta utilizando uma Query Dinâmica no Delphi, é isso mesmo?
Se for, como os valores de data estão sendo passadas para o seu query?
Nos seus componentes do tipo TextBox, qual é a formatação que esta aplicada.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com
- Marcado como Resposta Durval RamosModerator sábado, 7 de março de 2015 04:00
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 10 de janeiro de 2015 11:24
- Marcado como Resposta Durval RamosModerator sábado, 7 de março de 2015 04:00
-
José,
Dependendo da sua versão do SQL Server, você poderá utilizar a função FORMAT ou CONVERT.
Segue dois exemplos para você adaptar à sua necessidade:
SELECT FORMAT(GETDATE(), 'dd/MM/yyyy'); GO SELECT CONVERT(VARCHAR(10), GETDATE(), 103); GO
No caso de sua consulta, o ideal é você declarar todas as suas colunas (em substituição ao "*"), mas como alternativa você poderá criar um ALIAS para a tabela e definir a formatação da sua coluna data à parte. Segue outro exemplo:
SELECT ATD.*, CONVERT(VARCHAR(10),ATD.DATA_ATENDIMENTO, 103) AS DATA_FORMATADA FROM ATENDIMENTO AS ATD; GO
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 10 de janeiro de 2015 11:24
- Marcado como Resposta Durval RamosModerator sábado, 7 de março de 2015 04:00
Todas as Respostas
-
José,
Experimenta fazer dessa forma:
select convert(varchar(10),DATA_ATENDIMENTO,103) as DATA_ATENDIMENTO from ATENDIMENTO WHERE STATUS_ATENDIMENTO ='" + cbopcao.Text + "' and convert(varchar(10),DATA_ATENDIMENTO,103) Between '" + mini.Text + "' and '" + mfim.Text + "'", connection);
Diego Almeida Barreto
System Analyst / Software Developer
- Editado Diego de Almeida Barreto (Lewis) terça-feira, 2 de dezembro de 2014 16:00
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 10 de janeiro de 2015 11:24
- Marcado como Resposta Durval RamosModerator sábado, 7 de março de 2015 04:00
-
José,
Dependendo da sua versão do SQL Server, você poderá utilizar a função FORMAT ou CONVERT.
Segue dois exemplos para você adaptar à sua necessidade:
SELECT FORMAT(GETDATE(), 'dd/MM/yyyy'); GO SELECT CONVERT(VARCHAR(10), GETDATE(), 103); GO
No caso de sua consulta, o ideal é você declarar todas as suas colunas (em substituição ao "*"), mas como alternativa você poderá criar um ALIAS para a tabela e definir a formatação da sua coluna data à parte. Segue outro exemplo:
SELECT ATD.*, CONVERT(VARCHAR(10),ATD.DATA_ATENDIMENTO, 103) AS DATA_FORMATADA FROM ATENDIMENTO AS ATD; GO
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 10 de janeiro de 2015 11:24
- Marcado como Resposta Durval RamosModerator sábado, 7 de março de 2015 04:00
-
Diego coloquei do mesmo jeito que você informou mais ele esta buscando errado, pois
exemplo se eu buscar do dia 01/09/2014 até 30/09/2014, ele busca somente s datas entre 02/09 a 29/09 que não seria o certo, o certo seria ele pegar o dia 01 e o dia 30 também, o que posso alterar no comando para que isso aconteça .
Atenciosamente,
José Henrique Sabino -
José,
Analisando o seu código, você esta utilizando uma Query Dinâmica no Delphi, é isso mesmo?
Se for, como os valores de data estão sendo passadas para o seu query?
Nos seus componentes do tipo TextBox, qual é a formatação que esta aplicada.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com
- Marcado como Resposta Durval RamosModerator sábado, 7 de março de 2015 04:00