Valor de Variável fornecida pelo usuário
22/07/2019
0
Boa tarde galera.
Sou novo por aqui e novo no SQL, estou querendo realizar uma consulta na qual retorne os valores de datas que estão entre duas datas que serão fornecidas pelo usuário. A ideia é que, se possível, seja aberto uma janela onde o usuário possa fornecer a Data_Inicial e Data_Final que serão carregadas em duas variáveis para serem usadas no select.
Sou novo por aqui e novo no SQL, estou querendo realizar uma consulta na qual retorne os valores de datas que estão entre duas datas que serão fornecidas pelo usuário. A ideia é que, se possível, seja aberto uma janela onde o usuário possa fornecer a Data_Inicial e Data_Final que serão carregadas em duas variáveis para serem usadas no select.
Rodson Oliveira
Curtir tópico
+ 0
Responder
Posts
22/07/2019
Igor Ferreira
Boa noite,
Não compreendi sua pergunta...
Mas se você quer retornar o valor entre duas datas você pode utilizar o "DATEDIFF" onde: DATEDIFF(tipo, data inicial, data final), sendo que o "tipo" será: year, day, week, quarter e etc...
Você pode ver mais sobre aqui: https://docs.microsoft.com/pt-br/sql/t-sql/functions/datediff-transact-sql?view=sql-server-2017
Exemplo:
Utilizando "DAY" entre as datas 01/07/2019 até 31/07/2019 temos 30 dias
Utilizando "WEEK" entre as datas 01/07/2019 até 31/07/2019 temos 4 semanas
Utilizando "YEAR" entre as datas 01/01/2005 até 22/07/2019 temos 14 ANOS
Utilizando "DAY" entre as datas 01/01/2005 até 22/07/2019 temos 5315 dias
Você também pode abreviar, como exemplo:
Tudo é equivalente à "dia"
Não compreendi sua pergunta...
Mas se você quer retornar o valor entre duas datas você pode utilizar o "DATEDIFF" onde: DATEDIFF(tipo, data inicial, data final), sendo que o "tipo" será: year, day, week, quarter e etc...
Você pode ver mais sobre aqui: https://docs.microsoft.com/pt-br/sql/t-sql/functions/datediff-transact-sql?view=sql-server-2017
Exemplo:
Utilizando "DAY" entre as datas 01/07/2019 até 31/07/2019 temos 30 dias
SELECT DATEDIFF(DAY, '2019-07-01 00:00:00', '2019-07-31 00:00:00') -- RETORNA 30 "DIAS"
Utilizando "WEEK" entre as datas 01/07/2019 até 31/07/2019 temos 4 semanas
SELECT DATEDIFF(WEEK, '2019-07-01 00:00:00', '2019-07-31 00:00:00') -- RETORNA 4 "SEMANAS"
Utilizando "YEAR" entre as datas 01/01/2005 até 22/07/2019 temos 14 ANOS
SELECT DATEDIFF(YEAR, '2005-01-01 00:00:00', '2019-07-22 00:00:00') -- RETORNA 14 "ANOS"
Utilizando "DAY" entre as datas 01/01/2005 até 22/07/2019 temos 5315 dias
SELECT DATEDIFF(DAY, '2005-01-01 00:00:00', '2019-07-22 00:00:00') -- RETORNA 5315 "DIAS"
Você também pode abreviar, como exemplo:
SELECT DATEDIFF(dd, '2019-07-01 00:00:00', '2019-07-31 00:00:00')[code] SELECT DATEDIFF(d, '2019-07-01 00:00:00', '2019-07-31 00:00:00') SELECT DATEDIFF(DAY, '2019-07-01 00:00:00', '2019-07-31 00:00:00')
Tudo é equivalente à "dia"
Responder
23/07/2019
Rodson Oliveira
Bom dia Igor, não seria a diferença entre dias. Digamos que tenhamos uma tabela de lançamentos financeiro, e quero retornar todos os lançamentos que existam entre duas datas, para tanto usaria o seguinte:
Select * From Lançamentos
Where Vencimento Betwen( Dt_Inicial, Dt_Final)
O que necessito é que a data inicial e final seja solicitada pela aplicação no momento da execução
Select * From Lançamentos
Where Vencimento Betwen( Dt_Inicial, Dt_Final)
O que necessito é que a data inicial e final seja solicitada pela aplicação no momento da execução
Responder
Clique aqui para fazer login e interagir na Comunidade :)