top of page

Declarar variável e Subquery

Atualizado: 28 de jul. de 2023


​int

-2.147.483.648 a 2.147.483.647

​bigint

-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

​smallint

-32.768 a 32.767

tinyint

0 a 255

​money

'-922.337.203.685.477,5808 a 922.337.203.685.477,5807 (-922.337.203.685.477,58

a 922.337.203.685.477,58

smallmoney

'-214.748,3648 a 214.748,3647

float

'- 1,79E+308 a -2,23E-308, 0 e 2,23E-308 a 1,79E+308

real

' - 3,40E + 38 a -1,18E - 38, 0 e 1,18E - 38 a 3,40E + 38

date

AAAA-MM-DD

smalldatetime

01.01.00 a 06.06.79 1º de janeiro de 1900 a 6 de junho de 2079

datetimeoffset

precisão de segundos fracionário AAAA-MM-DDThh:mm:ss[.nnnnnnn] [{+|-}hh:mm]

varchar

char

Alguns exemplos de declarações:


DECLARE @valor INT,

@texto VARCHAR(40),

@data_nascimento DATE,

@nada MONEY


Exemplo de declaração de variável chamada MÊS



declare @mes INT

set @mes = 3


Mais de uma variável:


declare @mes INT, @ano INT, @hora TIME

set @mes = 3

set @ano = 2023

set @hora = '06:00:00'



SELECT DISTINCT


  PFUNC.CHAPA AS CHAPA,

  PFUNC.NOME AS NOME_FUNCIONARIO,


(SELECT PFFINANC.VALOR as valor

from PFFINANC

where MESCOMP= @mes

and ANOCOMP=2023 

and CODEVENTO= '0021'

AND PFFINANC.CHAPA=PFUNC.CHAPA) AS 'INSALUBRIDADE',


-----------------------------------------------------------------------------------------------


declare @data DATE

set @data = '01/01/2023'

-----------------------------------------------------------------------------------------------




--------------------------------------------------------------------------------------------------


Exemplo de um sub select retornando uma data como variável


Os dados retornados estarão na tabela ASALDOBANCOHOR, mas o critério de retorno dentro do WHERE desta consulta, estará dentro da tabela APERIODO, na coluna "aperiodo.fimmensal" com o critério de statusperiodo seja igual a 1, pois representa o período vigente.


Dentro desses critérios, inseri um sub select dentro do WHERE da minha consulta:


WHERE ASALDOBANCOHOR.FIMPER=(select fimmensal from aperiodo where codcoligada = ASALDOBANCOHOR.codcoligada and statusperiodo = 1)



---------------------------------------------------------------------------------------------------------


Exemplo de um sub select retornando a maior data dentro de um critério


Data Referência é a data do fato ocorrido e através desta data, ele retorna a data inicial e final do período de apuração, ou seja, na primeira linha, a data do fato ocorreu dua 08/02/2023 e será computado no período de apuração que iniciou dia 15 de janeiro e finalizou dia 08 de fevereiro.



---------------------------------------------------------------------------------------------------------------------------

Exemplo de subselects (subquerys)


Formatado em moeda brasileira, e se a consulta retornar vazio, retornar com 0:





MÉDIA DE 6 MESES



SUBQUERY com soma utilizando groupby


bottom of page