SQL Server "Where"

2 respostas
F

Boa tarde pessoal,

Eu preciso fazer um select.
Os dados que eu preciso buscar precisa ser maior ou igual a data inicial e menor ou igual data final.

Ex:

SELECT 
    		        NOMEPRODUTO 
    		FROM
    			PRODUTO
                    WHERE 
                       CONVERT(char(10), DTCADASTRO_ESCRI, 23) > = @DINICIO   AND
                       CONVERT(char(10), DTCADASTRO_ESCRI, 23) < = @DFIM

Não estou tendo problemas quanto converter as datas nem nada,

Porém eu precisaria:

Quando a data inicial ou a data final ou ambas não forem informadas.
Eu preciso trazer todas as datas.

Alguém sabe me explicar como eu faço isso colocando dentro da clausula “where”?

Att.

Allan Furlani

2 Respostas

V

Não sei se entendi direito, mas acho q isso resolve.

(@DINICIO is null || CONVERT(char(10), DTCADASTRO_ESCRI, 23) > = @DINICIO)

AND

(@DFIM is null || CONVERT(char(10), DTCADASTRO_ESCRI, 23) < = @DFIM)

testa aí …

E

O estilo de conversão “23” no SQL Server não existe. Se quiser fazer uma comparação de datas e horas desse jeito (que não é recomendado, aliás, use o estilo 112 (anomêsdia, por exemplo 20101217 para o dia de hoje).

Criado 17 de dezembro de 2010
Ultima resposta 17 de dez. de 2010
Respostas 2
Participantes 3