none
Manipulação de Datas RRS feed

  • 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)

    terça-feira, 6 de abril de 2010 20:18

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
    quarta-feira, 7 de abril de 2010 12:04

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
    quarta-feira, 7 de abril de 2010 12:04
  • beleza. Funcionou...

    Muito Obrigado.

    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

    terça-feira, 13 de abril de 2010 14:26