duvida com select no sql server

22/08/2013

0

olá pessoal
preciso buscar um registro no sql server
na minha tabela do sql tenho datetime inicial e datetime final
para buscar um registro eu passo apenas uma data
preciso que me retorna o nome do cliente se ele estiver entre a data inicial e final da tabela, mas passando apenas uma data qualquer, informada pelo usuário
tentei algo como e não retornou nada, mas existe um registro com esses dados na tabela
alguma ajuda
obrigado


select fu.tsGen_Funcionario_Codigo_ID ,
fu.tsGen_Funcionario_Nome_StrL ,
mf.tsGen_Movimentacao_Inicio_DatH,
tm.tsGen_TipoMovimento_Nome_StrL
from tsGen_MovimentacaoFuncionario mf
with (nolock)
inner join tsGen_TipoMovimento tm on tm.tsGen_TipoMovimento_Codigo_ID = mf.tsGen_TipoMovimento_Codigo_ID
inner join tsGen_Funcionario fu on fu.tsGen_Funcionario_Codigo_ID = mf.tsGen_Funcionario_Codigo_ID
where mf.tsGen_Funcionario_Codigo_ID = 3
and '2013-08-07' between mf.tsGen_Movimentacao_Inicio_DatH and mf.tsGen_Movimentacao_Inicio_DatH


Marcos Corso

Marcos Corso

Responder

Posts

23/08/2013

Tiago

Uma dica verifique as horas. Trabalhei com relatórios e as vezes as diferenças de registros eram por causa do formato da data que só buscava dd/MM/aaaa, ai quando eu acrescentava os segundos no filtro funcionava.

Espero que funcione
Responder

23/08/2013

Alex Lekao

olá pessoal
preciso buscar um registro no sql server
na minha tabela do sql tenho datetime inicial e datetime final
para buscar um registro eu passo apenas uma data
preciso que me retorna o nome do cliente se ele estiver entre a data inicial e final da tabela, mas passando apenas uma data qualquer, informada pelo usuário
tentei algo como e não retornou nada, mas existe um registro com esses dados na tabela
alguma ajuda
obrigado


select fu.tsgen_funcionario_codigo_id ,
fu.tsgen_funcionario_nome_strl ,
mf.tsgen_movimentacao_inicio_dath,
tm.tsgen_tipomovimento_nome_strl
from tsgen_movimentacaofuncionario mf
with (nolock)
inner join tsgen_tipomovimento tm on tm.tsgen_tipomovimento_codigo_id = mf.tsgen_tipomovimento_codigo_id
inner join tsgen_funcionario fu on fu.tsgen_funcionario_codigo_id = mf.tsgen_funcionario_codigo_id
where mf.tsgen_funcionario_codigo_id = 3
and '2013-08-07' between mf.tsgen_movimentacao_inicio_dath and mf.tsgen_movimentacao_inicio_dath





isso mesmo, verifique isso que o Tiago comentou, caso precise considere utilizar na data inicial dd/mm/aaaa 00:00:00 por exemplo assim que inicia pelo comeco... rsrsr

e na data final considere utilziar 23:59:59 por exemplo.

uma outra dica seria converter as datas para o padrao brasileiro por exemplo na hora de pesquisar, exemplo convert(varchar,dateinicial,103), acredito que deva funcionar.

mais uma coisa, acredito que o seu where esteja errado, vc colocou and 'data' between campoini and campo fim, eu particularmente nunca usei assim, por isso estou acreditando que esteja errado, de uma checada nisso tambem.

Espero ter ajudado.

Abraco.

Alex - Lekao
Responder

23/08/2013

Roniere Almeida

eu preciso muito revisar T-SQL, muito enferrujado.
Responder

23/08/2013

Alex Lekao

kkkkk....

eu uso quase todo dia, mas baseado em SQL server, e me enrolo e esqueco algumas coisas as vezes.. rsrsr

eh muito bom ter sempre a maos material de consulta.

estou pensando em comprar mais livros para material de consulta para mim... so que vai ficando cada vez mais caro suprir essas necessidades... rsrsr
Responder

23/08/2013

Tiago

Também não estou afiado no TSQL... ORM mal acostuma agente kkkk..
Responder

23/08/2013

Fabiano Carvalho

Boa tarde.

O que voce pode fazer é por exemplo no seu parametro informar os segundos como já instruido.

se não quiser colocar manualmente ou não tiver os segundos converta-o para datetime!

por exemplo cast('2013-08-23' as datetime) ou convert(datetime,'23/0/2013',103)
pode ocorrer de trazer registros a menos ai voce pode usar
dateadd(day,1,convert(datetime,'23/0/2013',103))

Está um pouco confuso, mas é isso ai!
Responder

23/08/2013

Marcos Corso

resolvido
utilizei o convert(datetime(convert(varchar(10),meucampo,103))
agradeço aos que responderam
Responder

23/08/2013

Alex Lekao

Também não estou afiado no TSQL... ORM mal acostuma agente kkkk..


eu nem sei o que eh ORM... kkkkk

Responder

23/08/2013

Alex Lekao

blz...

obrigado por retornar como solucionado e compartilhar a solucao.

abraco.

Alex - Lekao
Responder

23/08/2013

Roniere Almeida

Também não estou afiado no TSQL... ORM mal acostuma agente kkkk..


eu tenho um livro novo de fundamentos T-SQL, preciso urgentemente começar a ler.
Responder

23/08/2013

Tiago

Um prazer marcos, fico feliz que deu tudo certo.
Responder

24/08/2013

Alex Lekao

Também não estou afiado no TSQL... ORM mal acostuma agente kkkk..


eu tenho um livro novo de fundamentos T-SQL, preciso urgentemente começar a ler.


nossa... eu nao tenho nenhum... a nao sei o MOC... e mesmo assim nem o uso mai... so uma vez ou outra que dou uma olhada, ficou como material de consulta... mas o meu material de consulta mesmo eh a internet... rsrse
Responder

25/08/2013

Tiago


nossa... eu nao tenho nenhum... a nao sei o MOC... e mesmo assim nem o uso mai... so uma vez ou outra que dou uma olhada, ficou como material de consulta... mas o meu material de consulta mesmo eh a internet... rsrse



Esse sim é o melhor material "Internet"., Livro eu gosto quando eu quero ter uma noção de como funciona "as coisar por debaixo do pano".. Por exemplo, entender mesmo as raizes do assunto que pretendo me especializar. Mas quando estou com alguma dúvida pontual, a internet é a primeira opção.
Responder

25/08/2013

Roniere Almeida

Também não estou afiado no TSQL... ORM mal acostuma agente kkkk..


eu tenho um livro novo de fundamentos T-SQL, preciso urgentemente começar a ler.


nossa... eu nao tenho nenhum... a nao sei o MOC... e mesmo assim nem o uso mai... so uma vez ou outra que dou uma olhada, ficou como material de consulta... mas o meu material de consulta mesmo eh a internet... rsrse


pois começar a ler e se surgir duvidas, listar para o amigos do forum!!!
Responder

25/08/2013

Tiago

dúvidas é um processo normal do aprendizado, quando não temos dúvidas é porque ou sabemos de tudo ou sabemos de nada.... Nesses casos eu acredito é que não sabemos de nada, pois dúvidas faz parte.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar