Data com Windows em Espanhol

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Avatar do usuário
rog3rk
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sex, 18 Jul 2008 8:06 am
Localização: Sapiranga RS

Boa tarde...


Semana passada fui para a Argentina implantar um sistema, e encontrei o seguinte erro:

No sistema existe uma validação para saber se o dia informado é um Sábado ou Domingo, para descobrir se o dia informado é ou não um fim de semana utilizei o seguinte código:

select to_chaR(sysdate,'D')
from dual

Caso o resultado do select for 7 (Sábado) ou 1 (Domingo) realiza a validação.

O problema que aconteceu é que quando o windows está em espanhol, o Sábado fica como dia 6 e o Domingo como dia 7.


Alguém sabe alguma forma para deixar padrão? Hoje criamos parâmetros que identificam os dias...


Obrigado.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Tem um parametro no to_char que você diz em qual NLS você quer que seja retornado o valor,

procure no forum,

abraço
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

Selecionar tudo

ALTER SESSION SET NLS_LANGUAGE = "BRAZILIAN PORTUGUESE";

DBMS_SESSION.SET_NLS ('NLS_LANGUAGE', 'PORTUGUESE');
DBMS_SESSION.SET_NLS ('NLS_TERRITORY', 'BRAZIL'); 

Como assim padrão????
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Dependendo da configuração de NLS_TERRITORY a semana começa em dias diferentes.

Selecionar tudo

Conectado a:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter session set nls_territory = 'BRAZIL';

Sessão alterada.

SQL> select to_char(to_date('14/12/2009', 'DD/MM/YYYY'), 'D DAY', 'NLS_DATE_LANGUAGE = SPANISH'),
  2         to_char(to_date('14/12/2009', 'DD/MM/YYYY'), 'D DAY', 'NLS_DATE_LANGUAGE = PORTUGUESE')
  3    from dual;

TO_CHAR(TO_ TO_CHAR(TO_DATE
----------- ---------------
2 LUNES     2 SEGUNDA-FEIRA

SQL> alter session set nls_territory = 'ARGENTINA';

Sessão alterada.

SQL> select to_char(to_date('14/12/2009', 'DD/MM/YYYY'), 'D DAY', 'NLS_DATE_LANGUAGE = SPANISH'),
  2         to_char(to_date('14/12/2009', 'DD/MM/YYYY'), 'D DAY', 'NLS_DATE_LANGUAGE = PORTUGUESE')
  3    from dual;

TO_CHAR(TO_ TO_CHAR(TO_DATE
----------- ---------------
1 LUNES     1 SEGUNDA-FEIRA

SQL> 
Responder
  • Informação