Usuário com melhor resposta
Manipulação de Datas

Pergunta
-
Boa tarde,
Não sei se é aqui que coloco isso mais, estou com duvidas, segue abaixo.
Estou com um setença abaixo onde quero trazer somente o ano só com duas casas. Exemplo: se o ano for 2009, terá de trazer 09,
somente isso segue abaixo a setença.
Desde já agradeço a atenção de todos, e peço desculpas caso não seja aqui, porque é a primeira vez aqui no forum
SELECT
YEAR
(A.DATAEMISSAO) ANO
FROM
TMOV A(NOLOCK), TITMMOV B(NOLOCK)
WHERE
B.CODCOLIGADA = A.CODCOLIGADA
AND
B.IDMOV = A.IDMOV
AND
A.CODTMV IN ('2.1.01','2.1.03')
AND
A.STATUS IN ('A','F')
AND
MONTH(A.DATAEMISSAO) = MONTH(GETDATE()) -2
GROUP
BY YEAR(A.DATAEMISSAO)
Respostas
-
Bom dia!
Amigo, basta utilizar no campo da sua data o seguinte:
right('0' + year(A.DATAEMISSAO),2)
abraços!
Miller
- Marcado como Resposta Paulo Almir segunda-feira, 12 de abril de 2010 21:02
Todas as Respostas
-
Bom dia!
Amigo, basta utilizar no campo da sua data o seguinte:
right('0' + year(A.DATAEMISSAO),2)
abraços!
Miller
- Marcado como Resposta Paulo Almir segunda-feira, 12 de abril de 2010 21:02
-
-
beleza,
Na verdade esse "'0' + " está sobrando e está faltando converter a data para string, tendo em vista que é somente com o ano que você precisa será indiferente por que o número é composto por 4 dígitos e nunca sobrará um 0 no início do ano, diferente no caso de mês. Porém será útil caso você precise do mesmo com o mês que terá apenas 1 digito como retorno. Nesse caso o "'0' + " terá a finalidade de retornar 01,02,03....10,12 sem sobrar e nem faltar zero, trazendo sempre duas casas. Só para completar, nesse caso ainda será necessário converter o mês para string, senão ele entenderá que será 0 + mês, e não concatenar. Para isso você utilizaria, da forma ideal:
right('0' + rtrim(month(A.DATAEMISSAO),2)
abraços,
Miller