Usuário com melhor resposta
Stored Procedure chamando uma VIEW

Pergunta
-
Ola,
Tenho uma SP, mais ou menos assim:
Declare @Inicial datetime ,
@Final datetime
Select
Nome,
Numero,
Tipo,
Numero_Documento as Documento,
Ano,
data,
servidor,
Convert(varchar(11),@Inicial,103) as Inicial,
Convert(Varchar(11),@Final,103) as Final
From uvw_nada_consta
Where
Data Between Convert(varchar(11),@Inicial,103) and Convert(varchar(11),@Final,103)
Quando executo
EXEC SP '2022-01-01', '2022-08-11'
Retorna cerca de 12000 mil registros
Porem quando executo a instrução direto na SP
SELECT nome,
numero,
Tipo AS tipo,
numero_documento,
ano,
CONVERT(varchar(11), Data_consulta, 103) AS data,
servidor,
Convert(varchar(11),@Inicial,103) as Inicial,
Convert(Varchar(11),@Final,103) as Final
FROM NadaConsta JOIN
TipoNadaConsta
ON id_tipo_documento = TipoNadaConsta.id_tipo_documento
Where Processo.NadaConsta.data_consulta Between Convert(varchar(11),@Inicial,103) And Convert(varchar(11),@Final,103)
Me Retorno 1383 mil Registros
Porque isto acontece?
gostaria de entender.
Maricelmo
Respostas
-
Boa tarde,
Você está convertendo a coluna com a data para Varchar utilizando o estilo 103 na View?
Se estiver, o filtro por data não vai funcionar utilizando esse estilo, para filtrar acho melhor manter a coluna com o tipo Date ou semelhante na View.
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Maricelmo segunda-feira, 29 de agosto de 2022 12:01
-
Maricelmo,
A maneira como você esta passando os valores de data para serem utilizados como parâmetro na execução da sua Stored Procedure.
Vale ressaltar que por padrão o SQL Server respeita a formatação do idioma do sistema operacional para apresentar as datas, mas a forma de armazenamento física é sempre no formato em inglês, independente do idioma utilizado pela servidor ou estação de trabalho que esteja solicitando os dados.
Pedro Antonio Galvão Junior [MSc. | MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Marcado como Resposta Maricelmo segunda-feira, 29 de agosto de 2022 12:01
Todas as Respostas
-
Boa tarde,
Você está convertendo a coluna com a data para Varchar utilizando o estilo 103 na View?
Se estiver, o filtro por data não vai funcionar utilizando esse estilo, para filtrar acho melhor manter a coluna com o tipo Date ou semelhante na View.
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Maricelmo segunda-feira, 29 de agosto de 2022 12:01
-
Maricelmo,
A maneira como você esta passando os valores de data para serem utilizados como parâmetro na execução da sua Stored Procedure.
Vale ressaltar que por padrão o SQL Server respeita a formatação do idioma do sistema operacional para apresentar as datas, mas a forma de armazenamento física é sempre no formato em inglês, independente do idioma utilizado pela servidor ou estação de trabalho que esteja solicitando os dados.
Pedro Antonio Galvão Junior [MSc. | MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Marcado como Resposta Maricelmo segunda-feira, 29 de agosto de 2022 12:01
-