Bom dia
Por que a galera insiste em usar timestamp se date time faz o mesmo?
Tem um arquiteto aqui que insiste em usar timestamp, por isso MY GOD. :?:
Alguem pode me explicar ?

Bom dia
Por que a galera insiste em usar timestamp se date time faz o mesmo?
Tem um arquiteto aqui que insiste em usar timestamp, por isso MY GOD. :?:
Alguem pode me explicar ?

Date ( em banco de dados SQL-compliant ) tem diversos comportamentos, implementados de maneiras diferentes por diferentes bancos. É quase impossível dizer se um date vai ser igual, não semelhante, ao outro até mesmo dentro do mesmo banco. Timestamp tem um comportamento único, é um long derivado do locale do servidor. É mais barato, e garantido, devolver um timestamp do que um date.
Adendo: Além de delegar o trabalho de garantir que as datas do sistema estarão sempre correspondentes ao mesmo locale à lógica do sistema.
Até!
maquiavelbona voce aqui tambem. Beleza.
É mais barato no que ? Em futuros problemas que podem ocorre.
timestamp se modela de acordo com o locale.
eu fazendo isso
PreparedStatement pre = con.prepareStatement("insert into aluno(nome, idade, ns) values(?, ?, ?)");
pre.setString(1, "FABIO");
pre.setString(2, "21");
pre.setObject(3, new Timestamp(2007,10,10,10,14,10,10));
no banco fica assim : 1 FABIO 21 10/11/3907 10:14:10
por que este ano ?
ve se voce da uma solucao para o meu problema de enviar e-mail. Obrigado
Ja saquei :
pre.setObject(3, new Timestamp(2007 - 1900,10,10,10,14,10,10));
é isso?
Oui. De acordo com a documentação, o timestamp começa em 1/1/1900 00:00:00.
É mais barato para você, que não vai ter que ficar se descabelando pelos retornos malucos de cada banco, é mais barato para o banco na hora de processar e é mais barato na hora de consolidar várias datas diferentes.
Para ajudar no que eu tentei dizer no respeito ao tratamento no banco de dados:
http://www.dba-oracle.com/oracle_news/2006_03_22_understand_diferences_date_timestamp_columns.htm
http://www.postgresql.org/docs/techdocs.13
http://dev.mysql.com/doc/refman/5.0/en/datetime.html
Ou seja, se você for inventar de gravar no banco um DATE, senta e chora se for passar para outro banco sem mudar nada.
Até!
Só corrigindo: De acordo com a documentação a data referência é 01/01/1970 00:00:00.