Desktop
Website
Multimedia
Database
Security
Enterprise
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
Perguntas da entrevista do certificado de Shell da festança
lima de .vmdk
Como encontrar a contagem da fileira em Oracle DataReader em ASP.NET?
Excitador do bluetooth BCM2045 do inspiron 1720 de Dell para o profissional de Windows Xp.
Como conseguir o lightbox mostrar sobre a bandeira instantânea?
Fora do escritório o assistente que não trabalha w/Forwarding configurou
Redistribuindo o RASGO em subnets non-contiguous do OSPF.
líquidos de corpo após a sessão da natação
SQL0952N
Criando um vbscript para a chave do registro - IRPStackSize