Query Dinamica com Intervalo de Datas
-
segunda-feira, 18 de junho de 2012 18:51
Tenho um campo na tabela smalldatetime, na aplicação ela passa para Stored como smalldatetime, tudo funciona quando a consulta é normal SELECT XXXX....
Mas quando preciso fazer ela dinâmica, dá erro na conversão da data, estou fazendo assim:
if isdate(@CR_DTEMISSAO)=1 set @cmdSQL = @cmdSQL + ' AND [CR_DTEMISSAO] BETWEEN ''' + @CR_DTEMISSAO + ''' AND ''' + @CR_DTFILTRO + ''' '
Todas as Respostas
-
segunda-feira, 18 de junho de 2012 21:27
Boa Noite!
Coloque a declaração das suas variáveis para entender melhor o tipo de cada uma delas.
Obrigado
-
terça-feira, 19 de junho de 2012 17:17
Carlos,
Qual é a mensagem de erro?
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
-
quarta-feira, 20 de junho de 2012 00:52
Carlos,
Você pode tentar resolver o problema de conversão dos seguintes modos:
Considerando os minutos e segundos:
IF ISDATE(@CR_DTEMISSAO)= 1 BEGIN SET @cmdSQL = @cmdSQL + ' AND [CR_DTEMISSAO] BETWEEN ''' + CONVERT(VARCHAR, @CR_DTEMISSAO, 121) + ''' AND ''' + CONVERT(VARCHAR, @CR_DTFILTRO, 121) + ''' ' END
Considerando somente a data:
IF ISDATE(@CR_DTEMISSAO)= 1 BEGIN SET @cmdSQL = @cmdSQL + ' AND [CR_DTEMISSAO] BETWEEN ''' + CONVERT(VARCHAR(10), @CR_DTEMISSAO, 121) + ''' AND ''' + CONVERT(VARCHAR(10), @CR_DTFILTRO, 121) + ''' ' END
Acredito que isso resolva, mas o ideal é você postar a declaração das suas variáveis, como os colegas disseram.
[]'s
Philipe Souza
E-mail: Philipe.s.souza@hotmail.com- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 27 de junho de 2012 15:19

