Olá pessoal estou precisado de um SQL novamente, rs
Bom para os macgyver de plantão o problema é o seguinte tenho em uma tabela três colunas a primeira tem DTvencimento a segunda tem DTUltimo_recebimento e VLjuros. bom preciso trazer todo mundo em que a dtultimo_recebimento > dtvencimento and vljuros is not null até ai beleza ele traz todos que pagaram com juros só que as datas não estão tratando dos sabados e domingos, eu queria uma finção que diferenciasse os sabados e domingo tipo não troxesse registro nas datas de sabado e domingo só dias úteis
desde já agradeço a todos!
SQL data parte 2
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Tenta usar o comando to_char passando o formato 'D':
Este comando vai retornar um número de 1 a 7, indicando o dia da semana (Domingo = 1, Segunda = 2, etc)..
select to_char(sysdate, 'D') from dual;
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, além da Dica do Rafael, você também consegue pegar pela informação completa do dia, do banco, como no exemplo abaixo:
Ou:
SELECT TO_CHAR(SYSDATE,'Day')
FROM dual;
Ou:
SELECT TO_CHAR(SYSDATE,'Dy')
FROM dual;
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Opa, é verdade, trevisolli.
Só que nesses casos, como o retorno da função depende dos parâmetros NLS_LANG e NLS_DATE_LANG (como os formatos 'Day' e 'Dy' retornam os nomes dos dias da semana por extenso, e abreviado respectivamente), se a sessão estiver com algum destes parâmetros em uma língua diferente, a sua comparação pode deixar de funcionar...
por exemplo:
Só para tomar um pouco de cuidado, pois às vezes você pode se deparar com uma aplicação que sabe-se lá por que altera algum destes parâmetros, e faz a sua lógica ir por água abaixo (eu que o diga... rs)
Só que nesses casos, como o retorno da função depende dos parâmetros NLS_LANG e NLS_DATE_LANG (como os formatos 'Day' e 'Dy' retornam os nomes dos dias da semana por extenso, e abreviado respectivamente), se a sessão estiver com algum destes parâmetros em uma língua diferente, a sua comparação pode deixar de funcionar...
por exemplo:
alter session set nls_date_language=ENGLISH;
select to_char(sysdate, 'Dy') dia_abreviado
, to_char(sysdate, 'Day') dia_por_extenso
, to_char(sysdate, 'D') dia_numerico
from dual;
dia_abreviado dia_por_extenso dia_numerico
MON MONDAY 2
alter session set nls_date_language=BRAZILIAN PORTUGUESE;
select to_char(sysdate, 'Dy') dia_abreviado
, to_char(sysdate, 'Day') dia_por_extenso
, to_char(sysdate, 'D') dia_numerico
from dual;
dia_abreviado dia_por_extenso dia_numerico
SEG SEGUNDA-FEIRA 2
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
está certíssimo Rafael, este cuidado realmente deve ser tomado sim.
Valeu pelo post.
Valeu pelo post.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes