Pergunta : TRANSACIONAR O SQL: COALESCE A FUNÇÃO - ESCALAS DA DATA E VALORES NULOS

Eu estou usando-me transaciono o SQL para processar uma série de filtros possíveis da seleção de chamar a aplicação em VB6.  Se nada é selecionado para um campo dado no app de chamada, a seguir eu não quero filtrar nesse campo.  A função da COALESCÊNCIA trabalha bem para esta, e está trabalhando em tudo mas na escala da data.  Todos os campos possíveis na base de dados contêm um valor, ou um valor NULO.   O problema que eu estou tendo é com a escala da data.  Se eu passo em uma escala das datas, filtrará nessa escala e retornará somente aqueles registros nessa escala.  Se eu passo em nada (nenhum filtro querido) eu ajustei as variáveis da escala da data PARA ANULAR (como eu faço para os outros campos) e esperei todos os registros ser retornado se tem uma data ou um ZERO.  Em lugar de, está retornando todos os registros com todo o valor da data no campo - está excluindo os registros de data com um valor do ZERO na base de dados.  Eu não estou compreendendo porque trabalha como esperado com esta aproximação para os outros campos da seleção, contudo não para a data.  Minha pergunta está abaixo.  Com seus ajustes variáveis atuais eu esperá-la-ia retornar TODO O records.

--Aplicar filtros como necessários baseados nos valores passados dentro de chamar application.
--O uso COALESCE função: Se nenhum valor é passado dentro, ajustar a variável PARA ANULAR e COALESCER então não aplicará um filter.
--isto trabalha muito bem, filtrando tão necessário ou retornando todos os registros quanto necessários (mesmo se há um valor non-NULL no campo), à exceção do here

da DATA--Para a escala da data, se eu passo em uma escala trabalha corretamente e filtra na escala, mas se EU AJUSTO variáveis da escala da data PARA ANULAR (enquanto eu faço as outras variáveis) de modo a para não filtrar no campo, no it
--registros dos retornos somente com um valor da data no campo.  Não retorna os registros com COMPANHIAS NULA do @DATEEND=NULL

SELECT de DATETIME
SET do @DATEEND do @DATEBEGIN=NULL
DECLARE de DATETIME
SET do @DATEBEGIN do @STATE=NULL
DECLARE do
SET do @STATE VARCHAR do @TERRITORY=NULL
DECLARE do
SET do CARVÃO ANIMAL do @TERRITORY de value.

DECLARE (umas 5) (10), ENDEREÇO, CIDADE, ESTADO, ZIPCODE, TERRITÓRIO, FOLLOWUPDATE
FROM LEADS
WHERE
TERRITORY = COALESCE (@TERRITORY, TERRITÓRIO) AND
STATE = COALESCE (@STATE, ESTADO) AND
FOLLOWUPDATE NO MEIO COALESCE (@DATEBEGIN, FOLLOWUPDATE) E COALESCE (@DATEEND, FOLLOWUPDATE) o

class= do

Resposta : TRANSACIONAR O SQL: COALESCE A FUNÇÃO - ESCALAS DA DATA E VALORES NULOS

Você pôde apenas precisar de mudar este

FOLLOWUPDATE NO MEIO COALESCEM (@DATEBEGIN, FOLLOWUPDATE) E COALESCEM (@DATEEND, FOLLOWUPDATE)

a

(O @DATEBEGIN DO >= DE FOLLOWUPDATE OU @DATEBEGIN É NULO) E (FOLLOWUPDATE <>
Outras soluções  
 
programming4us programming4us