duvida com select no sql server

22/08/2013

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

Respostas

23/08/2013

Tiago Currículo

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 Citar

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 Citar

23/08/2013

Roniere Almeida

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

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 Citar

23/08/2013

Tiago Currículo

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

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 Citar

23/08/2013

Marcos Corso

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

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 Citar

23/08/2013

Alex Lekao

blz...

obrigado por retornar como solucionado e compartilhar a solucao.

abraco.

Alex - Lekao
Responder Citar

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 Citar

23/08/2013

Tiago Currículo

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

24/08/2013

Alex Lekao

[quote]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.[/quote]

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 Citar

25/08/2013

Tiago Currículo

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 Citar

25/08/2013

Roniere Almeida

[quote][quote]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.[/quote]

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[/quote]

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

25/08/2013

Tiago Currículo

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 Citar