SELECT TRAZ SOMENTE COM MAIS DE 5 DIAS

 Tópico anterior Próximo tópico Novo tópico

SELECT TRAZ SOMENTE COM MAIS DE 5 DIAS

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#498049 - 06/09/2021 16:03:22

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


Pessoal, gostaria fazer um select onde mostrasse somente os registros com uma diferença de data maior que 5 dias.
Ou seja, a pessoa pegou uma roupa hj (06/09). ela tem 5 dias pra devolver a roupa....
Então todo dia a cliente vai olhar na consulta quais foram os pedidos com mais de 5 dias.

fiz assim:
SELECT     COD_PEDIDO, DATEDIFF(day, DATA_COMPRA, GETDATE()) AS vQuantDias
FROM         pedidos
WHERE     (TIPO_PEDIDO = 'CONSIGNADO')


Porem consigo ver somente a diferença da data da compra com a data atual (numero de dias)

queria algo tipo
Where len(vQuantDias) > 5

ou
Where len(DATEDIFF(day, DATA_COMPRA, GETDATE()) ) > 5


Porem nao funciona!



#498050 - 06/09/2021 16:30:15

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


                        não é na sua linguagem mas da para ter noção no exemplo a baixo eu filtro  15 dias apos o vencimento
                          string dtain = dtaini.Value.ToString('yyyy/MM/dd');
                          string dtafin = dtafim.Value.ToString('yyyy/MM/dd');
                          grid.Rows.Clear();
                         Consulta.CommandText = 'SELECT * FROM caixa WHERE venc2 < @dtain -15 AND status = @tags ORDER BY datalan';
                         Consulta.Parameters.AddWithValue('@tags', '' + 'ABERTA' + '');
                         Consulta.Parameters.AddWithValue('@dtain', '' + DateTime.Now.ToString('yyyy/MM/dd') + '');



#498051 - 06/09/2021 17:41:27

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


Citação:
:
                        não é na sua linguagem mas da para ter noção no exemplo a baixo eu filtro  15 dias apos o vencimento
                          string dtain = dtaini.Value.ToString('yyyy/MM/dd');
                          string dtafin = dtafim.Value.ToString('yyyy/MM/dd');
                          grid.Rows.Clear();
                         Consulta.CommandText = 'SELECT * FROM caixa WHERE venc2 < @dtain -15 AND status = @tags ORDER BY datalan';
                         Consulta.Parameters.AddWithValue('@tags', '' + 'ABERTA' + '');
                         Consulta.Parameters.AddWithValue('@dtain', '' + DateTime.Now.ToString('yyyy/MM/dd') + '');


Queria faz tudo no select... vim com a consulta já filtrando




#498052 - 06/09/2021 18:16:46

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Última edição em 06/09/2021 18:17:31 por FABRICIOWEB

Citação:
:
:
                        não é na sua linguagem mas da para ter noção no exemplo a baixo eu filtro  15 dias apos o vencimento
                          string dtain = dtaini.Value.ToString('yyyy/MM/dd');
                          string dtafin = dtafim.Value.ToString('yyyy/MM/dd');
                          grid.Rows.Clear();
                         Consulta.CommandText = 'SELECT * FROM caixa WHERE venc2 < @dtain -15 AND status = @tags ORDER BY datalan';
                         Consulta.Parameters.AddWithValue('@tags', '' + 'ABERTA' + '');
                         Consulta.Parameters.AddWithValue('@dtain', '' + DateTime.Now.ToString('yyyy/MM/dd') + '');

Queria faz tudo no select... vim com a consulta já filtrando



mas onde que nao esta sendo feito por sql eu nao adicionei nenhuma variavel que seja adicionando humanamente

                                                                                                 // venc2 data que a cliente pegou a roupa
  Consulta.CommandText = 'SELECT * FROM caixa WHERE venc2 < @dtain -15 AND status = @tags';
                         Consulta.Parameters.AddWithValue('@tags', '' + 'CONSIGNADO' + '');
                         Consulta.Parameters.AddWithValue('@dtain', '' + DateTime.Now.ToString('yyyy/MM/dd') + '');  // data atual automaticamente





#498053 - 06/09/2021 21:11:31

OCELOT
SOROCABA
Cadast. em:Março/2012


Citação:
queria algo tipo
Where len(vQuantDias) > 5

ou
Where len(DATEDIFF(day, DATA_COMPRA, GETDATE()) ) > 5


Porem nao funciona!

O problema ai eu diria que é o LEN, ele serve para pegar a quantidade de caracteres, sendo que DATEDIFF retorna um número, acredito que seria só fazer
WHERE DATEDIFF(day, DATA_COMPRA, GETDATE()) > 5




 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário