Array
(
)

duvida com select no sql server

Marcos Corso
   - 22 ago 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

Tiago
|
MVP
Pontos: 120
    23 ago 2013

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

Alex Lekao
   - 23 ago 2013


Citação:
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

Roniere Almeida
   - 23 ago 2013

eu preciso muito revisar T-SQL, muito enferrujado.

Alex Lekao
   - 23 ago 2013

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

Tiago
|
MVP
Pontos: 120
    23 ago 2013

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

Faabiianooc
   - 23 ago 2013

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!

Marcos Corso
   - 23 ago 2013

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

Alex Lekao
   - 23 ago 2013


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


eu nem sei o que eh ORM... kkkkk

Alex Lekao
   - 23 ago 2013

blz...

obrigado por retornar como solucionado e compartilhar a solucao.

abraco.

Alex - Lekao

Roniere Almeida
   - 23 ago 2013


Citação:
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.

Tiago
|
MVP
Pontos: 120
    23 ago 2013

Um prazer marcos, fico feliz que deu tudo certo.

Alex Lekao
   - 24 ago 2013


Citação:

Citação:
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

Tiago
|
MVP
Pontos: 120
    25 ago 2013


Citação:

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.

Roniere Almeida
   - 25 ago 2013


Citação:

Citação:

Citação:
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!!!

Tiago
|
MVP
Pontos: 120
    25 ago 2013

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.

Alex Lekao
   - 26 ago 2013

Com ctz....

mas honestamente, uma coisa que tem me ajudado muito no meu dia a dia com banco eh procurar ajudar a galera que posta as duvidas e acompanhar alguns post, que assim vou agregando conhecimento... rsrsr

acho que tem sido uma grande escola para mim.... rsrsr