Olá,
Estou com o seguinte problema:
Independente do dia do ano, eu preciso que uma data seja sempre 01/01/do ano corrente.
Exemplo: hoje é 13/01/2012, eu preciso em uma variável do tipo date com o valor 01/01/2012.
Como montar uma data em Oracle
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Olá Rsalbano,
Para responder a sua pergunta, utilize as funções TO_DATE, TO_CHAR e SYSDATE
No exemplo acima:
- SYSDATE -> Traz a data corrente;
- TO_CHAR(SYSDATE,'RRRR') -> Traz o ano da data corrente. Uso a máscara RRRR (também poderia usar YYYY);
- TO_DATE('01/01/'TO_CHAR(...) ..) -> Concateno "/01/01/" com o ano obtido por T_CHAR(...);
- 'DD/MM/RRRR' -> Utilizo com TO_DATE, para informar ao oracle o formato da data (DD - dia/MM- mês/RRRR -> ano);
Espero ter podido responder sua dúvida,
Abraços,
Sergio Coutinho
Para responder a sua pergunta, utilize as funções TO_DATE, TO_CHAR e SYSDATE
Exemplo:
SQL> alter session set nls_date_format='DD/MM/RRRR';
SessÒo alterada.
SQL> SELECT TO_DATE('01/01/'||TO_CHAR(SYSDATE,'RRRR'),'DD/MM/RRRR') from dual;
TO_DATE('0
----------
01/01/2012
- SYSDATE -> Traz a data corrente;
- TO_CHAR(SYSDATE,'RRRR') -> Traz o ano da data corrente. Uso a máscara RRRR (também poderia usar YYYY);
- TO_DATE('01/01/'TO_CHAR(...) ..) -> Concateno "/01/01/" com o ano obtido por T_CHAR(...);
- 'DD/MM/RRRR' -> Utilizo com TO_DATE, para informar ao oracle o formato da data (DD - dia/MM- mês/RRRR -> ano);
Espero ter podido responder sua dúvida,
Abraços,
Sergio Coutinho
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante