Pesquisar no compo SmallDateTime?
Olá pessoal estou tendo um problema para pesquisar e agrupar somente a data em um campo SmallDateTime... alguém teria alguma dica?
Joule
Curtidas 0
Respostas
Emerson Nascimento
08/01/2007
não entendi... especifique melhor.
GOSTEI 0
Joule
08/01/2007
É assim: eu quero pesquisar uma determinada data no campos SmallDateTime no banco de dados ele salva assim dd/mm/yyyy hh:mm:ss... ai quando eu quero fazer uma pesquisar do dia 01/01/2007 e agrupar por essa data ele me retorna assim:
01/01/2007 11:10:00
01/01/2007 11:23:00
01/01/2007 12:20:00 e assim por diante eu gostaria q ele me retornasse somente a data sem a hora.
01/01/2007 11:10:00
01/01/2007 11:23:00
01/01/2007 12:20:00 e assim por diante eu gostaria q ele me retornasse somente a data sem a hora.
GOSTEI 0
Emerson Nascimento
08/01/2007
deve ser algo assim:
na função convert você pode usar outro tipo diferente de char(10) , conforme sua necessidade.
select convert(char(10), campo_data, 103) Dia, [lista de campos] from tabela where [...] group by convert(char(10), campo_data, 103) // aqui vc não apelida o campo order by 1 // aqui foi usado o número do elemento, que informa que deve ser ordenado pelo campo virtual "Dia"
na função convert você pode usar outro tipo diferente de char(10) , conforme sua necessidade.
GOSTEI 0
Joule
08/01/2007
Eu já tentei usar o convert só q na hora que eu vou fazer a pesquisar ele pega somente o dia e retorna todos os meses que existe no banco de dados... exemplo:
quero o dia 01/01/2006
ele me retorna:
01/01/2006
01/02/2006
01/03/2006
.
.
. assim por diante
quero o dia 01/01/2006
ele me retorna:
01/01/2006
01/02/2006
01/03/2006
.
.
. assim por diante
GOSTEI 0
Emerson Nascimento
08/01/2007
nos ajude a lhe ajudar:
publique a sua instrução para podermos dar uma solução completa.
publique a sua instrução para podermos dar uma solução completa.
GOSTEI 0
Joule
08/01/2007
select convert(char(10), data, 103) from Pedido
where convert(char(10), data, 103) between ´01/01/2006´ and ´03´/01/2006´
group by data
where convert(char(10), data, 103) between ´01/01/2006´ and ´03´/01/2006´
group by data
GOSTEI 0
Emerson Nascimento
08/01/2007
preste atenção na instrução que eu te passei. olhe bem o que está na cláusula [i:1f43b505a8]group by[/i:1f43b505a8].
GOSTEI 0
Joule
08/01/2007
Ok.... estou usando esse aqui:
SELECT CodNotaFiscal, convert(char(10), DataEmissao, 103) as Data
FROM NotaFiscal
where DataEmissao between ´01/11/2006´ and ´05/11/2006´
Group by CodNotaFiscal, convert(char(10), DataEmissao, 103)
Order by 2
Com esse select ele tá me retornando todos os meses com os dias que iniciam de 1 a 5, ele só está selecionando o dia nem o mês nem o ano ele tá retornando o que eu desejo. O q pode estar errado?
SELECT CodNotaFiscal, convert(char(10), DataEmissao, 103) as Data
FROM NotaFiscal
where DataEmissao between ´01/11/2006´ and ´05/11/2006´
Group by CodNotaFiscal, convert(char(10), DataEmissao, 103)
Order by 2
Com esse select ele tá me retornando todos os meses com os dias que iniciam de 1 a 5, ele só está selecionando o dia nem o mês nem o ano ele tá retornando o que eu desejo. O q pode estar errado?
GOSTEI 0
Macario
08/01/2007
Olá,
nesta sua ultima instrução voce nao conseguira agrupar por data, tendo o campo codnotafiscal.
Veja:
CodNota-------Data
[b:bf6d5d69b2]10[/b:bf6d5d69b2]--------------02/01/2007
[b:bf6d5d69b2]11[/b:bf6d5d69b2]--------------02/01/2007
[b:bf6d5d69b2]12[/b:bf6d5d69b2]--------------03/01/2007
[b:bf6d5d69b2]13[/b:bf6d5d69b2]--------------04/01/2007
[b:bf6d5d69b2]14[/b:bf6d5d69b2]--------------04/01/2007
Qual sua real necessidade de informaçao sobre as notas lançadas?
nesta sua ultima instrução voce nao conseguira agrupar por data, tendo o campo codnotafiscal.
Veja:
CodNota-------Data
[b:bf6d5d69b2]10[/b:bf6d5d69b2]--------------02/01/2007
[b:bf6d5d69b2]11[/b:bf6d5d69b2]--------------02/01/2007
[b:bf6d5d69b2]12[/b:bf6d5d69b2]--------------03/01/2007
[b:bf6d5d69b2]13[/b:bf6d5d69b2]--------------04/01/2007
[b:bf6d5d69b2]14[/b:bf6d5d69b2]--------------04/01/2007
Qual sua real necessidade de informaçao sobre as notas lançadas?
GOSTEI 0
Emerson Nascimento
08/01/2007
Ok.... estou usando esse aqui:
SELECT CodNotaFiscal, convert(char(10), DataEmissao, 103) as Data
FROM NotaFiscal
where DataEmissao between ´01/11/2006´ and ´05/11/2006´
Group by CodNotaFiscal, convert(char(10), DataEmissao, 103)
Order by 2
Com esse select ele tá me retornando todos os meses com os dias que iniciam de 1 a 5, ele só está selecionando o dia nem o mês nem o ano ele tá retornando o que eu desejo. O q pode estar errado?
a passagem de datas deve ser no formato americano: MM/DD/YYYY, portant,o sua instrução deveria ser:
SELECT CodNotaFiscal, convert(char(10), DataEmissao, 103) as Data FROM NotaFiscal where DataEmissao between ´11/01/2006´ and ´11/05/2006´ Group by CodNotaFiscal, convert(char(10), DataEmissao, 103) Order by 2
p.s: atente-se também à colocação do colega Macario
GOSTEI 0