1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Oracle - Hora sistema

Discussão em 'Programação' iniciada por theforbidden1, 5 de Dezembro de 2007. (Respostas: 9; Visualizações: 5097)

  1. theforbidden1

    theforbidden1 Banido

    Como é que eu faço para definir um campo de uma tabela como a hora do sistema?
     
    Última edição: 5 de Dezembro de 2007
  2. Armadillo

    Armadillo Folding Member

    tens q ser um bocadinho mais especifico.
    Em oracle ou MySQL?
    Programaticamente ou directamente nas definicoes da bd?
     
  3. theforbidden1

    theforbidden1 Banido

    Qualquer uma das 2 serve... Se possível as 2.
    É Oracle que eu quero...
     
  4. Armadillo

    Armadillo Folding Member

    podes usar uma instruccao SQL do genero "Insert into Tabela (Data, CampoX, CampoY) values (now(), x, Y)

    pelas definiçoes do Oracle n sei em concreto mas deve existir uma secçao de definiçoes da tabela, e no campo que queres defines o valor por defeito como "now()"
     
  5. theforbidden1

    theforbidden1 Banido

    mas o now() retorna o tempo?
    conheço 1 "sys date" mas esse só retorna datas.
     
  6. Armadillo

    Armadillo Folding Member

    Última edição: 5 de Dezembro de 2007
  7. theforbidden1

    theforbidden1 Banido

    o meu sql developer não está a querer reconhecer a função now...

    drop table teste
    create table teste(t date)
    select * from teste

    insert into teste(t) values (now())
     
  8. cmmr

    cmmr [email protected] Member

    Em oracle temos de pedir tudo que nao seja objecto ou campo de uma tabela ao "dual".

    E se bem me lembro em PL sql pode-se pegar na query e fazer uma subquery:

    insert into teste(t) values (select sysdate from dual )

    Mas já nao pego nisto ha 2 anos.

    Testa e diz qq coisa.

    Cumps
     
  9. spastikman

    spastikman Banido

    para sacares a data e hora do sistema podes usar a função sysdate em oracle.

    podes inclusivamente trabalhar com o sysdate e com + ou menos segundos, criar uma data no passado ou no presente em relação à data actual.
     
  10. reise

    reise Power Member

    O sysdate retorna-te a data completa. Se tu só vês o dia-mes-ano deve-se à formatação que estás a usar para listar.

    Experimenta:
    Código:
     create table er (data date);
    insert into er (data) values (sysdate);
    commit;
    select data from er;
    select to_char(data,'dd-mm-yyyy hh24:mi:ss') from er;
     

Partilhar esta Página