Página 1 de 1

insert hora

Enviado: Ter, 26 Jun 2007 9:55 am
por omaisnormalbaba
Bom dia... Sou novo no forum e tambem em oracle... Primeiro gostaria de parabenizar vocês pelo forum.. Ele é muito bom...Gostaria da ajuda de vocês...
Eu tenho uma tabela que precisa armazenar apenas os horarios da minha aplicação. Eu vou inserir apenas time... Eu já tentei coverter mas não da certo..
Ex:

Selecionar tudo

insert into raca values (4,1,'Rot','Grande',to_date('01:00:00', 'hh24:mi:ss'))..

Enviado: Ter, 26 Jun 2007 11:01 am
por dr_gori
Se o campo da sua tabela é DATE, você tem que colocar uma data junto dessa hora.
Não importa qual seja, pois o que interessa pra você é a hora.

Da forma que você fez, só vai funcionar, se o campo for VARCHAR2.
:-o

Enviado: Ter, 26 Jun 2007 11:47 am
por omaisnormalbaba
dr_gori..

O meu campo é Date...Mas se eu fizer assim:

Selecionar tudo

insert into raca values (5,1,'podle','pequeno',to_date('01/01/2007 00:30:00','dd/mm/yyyy hh24:mi:ss'),to_date('01/01/2007 01:30:00', 'dd/mm/yyyy hh24:mi:ss'))
No banco de dados fica armazenado completo, com datas e horas..
Eu coloquei a chamada :

Selecionar tudo

select * from raca;

Retornou:
1-jan-2007 0:30:00....

não retornou apenas a hora....

O que estou fazendo errado?

Enviado: Ter, 26 Jun 2007 1:11 pm
por dr_gori
Sim, o campo DATE guarda a data também.
Mas como você quer só os minutos, faça assim com o seu select:

Selecionar tudo

select to_char( campo , 'hh24:mi:ss') hora
from raca;
Busque apenas a hora.

Mas por que você quer apenas a hora ? Qual a utilidade de manter apenas a HORA e não a data?

Enviado: Ter, 26 Jun 2007 1:17 pm
por omaisnormalbaba
Valeu.. obrigado..

Enviado: Ter, 09 Out 2007 7:59 am
por rob.rodrigues
Bom dia Pessoal,

Sou novo aqui e iniciante em ORACLE também, e tenho um problema parecido.

Tenho que preencher alguns campos DATE apenas com os minutos e segundos.

Motivo: Estes campos irão medir o tempo de preparo de um prato, e o tempo da entrega (este é fixo em 20 minutos)

Tentei preenher o campo com o seguinte insert:

Selecionar tudo

INSERT INTO BAIRRO ( CDBAIRRO, NMBAIRRO, TEMPENTREGA)
             VALUES ( 01, 'Aclimação', to_date('20:00', 'mi:ss'));
Ele rodou normal e aceitou os dados, contudo o aplicar o select

Selecionar tudo

 select * from bairro
O resultado foi o seguinte:

Selecionar tudo

CDBAIRRO               NMBAIRRO             TEMPENTREGA               
---------------------- -------------------- ------------------------- 
1                      Aclimação            01/10/07                  

1 rows selected
Teria alguma forma de eu conseguir preencher este campo apenas com os minutos, pois no futuro, terei que utilizar uma function para somar os valores e mostrar na tela ao usuário (uma espécie de monitoramente), o prazo estimado para a entrega do produto.

ps. Desculpem reviver o tópico, mas é que o tema é semelhante e obrigado pela paciência

Enviado: Ter, 09 Out 2007 9:15 am
por dr_gori
O SQL não mostra a hora.
Você conseguirá olhar o valor dos minutos se usar um TO_CHAR, e informando a máscara.

Selecionar tudo

select to_char(TEMPENTREGA, 'hh24:mi') hora from ... 

Enviado: Ter, 09 Out 2007 10:16 am
por rob.rodrigues
Muito obrigado dr_gori.

Era exatamente isso que eu precisava para poder prosseguir com o meu trabalho.

O preenchimento dos dados está certo, agora só terei que criar uma function para somar os tempos de entrega com o maior tempo de preparo dos pratos, e acrescentar a hora do pedido do cliente (que será definida pelo sistema).

Muito obrigado mesmo.