Ola,
Preciso fazer um select que me retorne a data no formato Qui 14, isto é, dia da semana seguido por dia do mês. Alguém sabe como posso fazer isso?
Obrigada.
Formatar Data
- fsitja
- 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
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
select initcap(substr(to_char(sysdate, 'DAY'), 1, 3)) || ' ' || to_char(sysdate, 'DD') from dual
O substr pega a primeira até a 3a letra do nome do dia ('DAY' na máscara de formato). Se seu Oracle estiver configurado em inglês pode vir "Thu" na resposta.
SQL> select initcap(substr(to_char(sysdate, 'DAY', 'NLS_DATE_LANGUAGE = ENGLISH'), 1, 3)) || ' ' ||
to_char(sysdate, 'DD') from dual;
INITCA
------
Thu 14
SQL> select initcap(substr(to_char(sysdate, 'DAY', 'NLS_DATE_LANGUAGE = PORTUGUESE'), 1, 3)) || ' '
|| to_char(sysdate, 'DD') from dual;
INITCA
------
Qui 14
SQL>
-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 14 Nov 2008 11:14 am
- Localização: São Paulo
Obrigada pela resposta.
O problema é que não pode ser sysdate, porque a data será um parâmetro. Veja o código que tenho.
O problema é que não pode ser sysdate, porque a data será um parâmetro. Veja o código que tenho.
SELECT o.name, mv.value_dtime, mv.numeric_value
from t_meas_value mv, t_meas_ass ma , t_object o
where mv.scenario_id = 'LIVE'
and mv.value_dtime >= TO_DATE($P{CALENDAR_DAY},'dd/mm/yyyy hh24:mi')
and mv.value_dtime <= TO_DATE($P{CALENDAR_DAY},'dd/mm/yyyy hh24:mi')
and mv.meas_ass_id in (
select ma.ass_id
from t_meas_ass ma
WHERE ma.meas_id in ( 'AGG_NNFC_VOL_D')
AND ma.obj_id IN (SELECT obj.obj_id from t_object obj
where obj.type = 'SUPPLIER_CONTRACT'
)
)
AND ma.ass_id = mv.meas_ass_id
AND ma.obj_id = o.obj_id
GROUP BY o.name , mv.value_dtime , mv.numeric_value
ORDER BY mv.value_dtime
- fsitja
- 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
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
Foi só para dar exemplo, é só substituir pela sua variável.
- fsitja
- 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
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
Qual problema você está tendo?
Pelo que entendi é só substituir mv.value_dtime no lugar do sysdate.
A menos que
não esteja correto, mas aí é o caminho inverso do que você pediu, é conversão de caractere para data.
mv.value_dtime é tipo Date?
Que exemplo de dados você recebe aqui ?
Você vai botar isso em algum PL/SQL e rodar em cursor?
Pelo que entendi é só substituir mv.value_dtime no lugar do sysdate.
A menos que
and mv.value_dtime >= TO_DATE($P{CALENDAR_DAY},'dd/mm/yyyy hh24:mi')
mv.value_dtime é tipo Date?
Que exemplo de dados você recebe aqui ?
$P{CALENDAR_DAY}
-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 14 Nov 2008 11:14 am
- Localização: São Paulo
O calendar_day é um parâmetro onde o usuário irá inserir a data em que ele quer pesquisar no sistema. Vou deixar em hard code para ficar mais fácil.
O resultado dessa query é:
O problema é que eu não sei como formatar a data da maneira como preciso que seja impressa.
Na data eu preciso retornar Sab 02, que equivale ao dia da semana + dia do mês e não 2/5/2009 03:00:00 como esta funcionando agora.
Desde já agradeço.
SELECT o.name, mv.value_dtime, mv.numeric_value
from t_meas_value mv, t_meas_ass ma , t_object o
where mv.scenario_id = 'LIVE'
and mv.value_dtime >= TO_DATE('01/05/2009 00:00','dd/mm/yyyy hh24:mi')
and mv.value_dtime <= TO_DATE('31/05/2009 00:00','dd/mm/yyyy hh24:mi')
and mv.meas_ass_id in (
select ma.ass_id from t_meas_ass ma WHERE ma.meas_id in ( 'AGG_NNFC_VOL_D')
AND ma.obj_id IN (SELECT obj.obj_id from t_object obj where obj.type = 'SUPPLIER_CONTRACT'))
AND ma.ass_id = mv.meas_ass_id
AND ma.obj_id = o.obj_id
GROUP BY o.name , mv.value_dtime , mv.numeric_value
ORDER BY mv.value_dtime
Name = Teste
Data = 2/5/2009 03:00:00
Numeric_Value = 1750
O problema é que eu não sei como formatar a data da maneira como preciso que seja impressa.
Na data eu preciso retornar Sab 02, que equivale ao dia da semana + dia do mês e não 2/5/2009 03:00:00 como esta funcionando agora.
Desde já agradeço.
-
- Rank: Programador Júnior
- Mensagens: 17
- Registrado em: Seg, 08 Set 2008 7:35 pm
- Localização: Ribeirão Preto - SP
Marcelo Nunes
Analista/Desenvolvedor Oracle
Analista/Desenvolvedor Oracle
Andréia, boa noite !
Tente formatar o campo "value_dtime" que está dentro do seu select conforme este exemplo (repare na máscara passada no to_date) :
Tente formatar o campo "value_dtime" que está dentro do seu select conforme este exemplo (repare na máscara passada no to_date) :
select initcap(substr(to_char(to_date('02/5/2009 03:00:00', 'dd/mm/yyyy hh:mi:ss'), 'DAY', 'NLS_DATE_LANGUAGE = PORTUGUESE'), 1, 3)) || ' ' || to_char(to_date('02/5/2009 03:00:00', 'dd/mm/yyyy hh:mi:ss'), 'DD') from dual;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 19 visitantes