Iam使用Oracle 10g express。与Oracle的日期
我写这篇文章的SQL命令:
INSERT INTO compte_courant (num_compte_courant, num_client, libelle_compte_courant, solde_compte_courant, decouvert_compte_courant, taux_agios_compte, date_ouverture_compte_courant, date_fermeture_compte_courant, etat_compte_courant) VALUES
('0001A1234', S_CLIENT.CURRVAL, 'compte courant', 1000.00, -300, 5.2, TO_DATE('01/01/2011', 'DD/MM/YYYY'), NULL, 'open');
当我看在compte_courant表。这是我在日期字段中看到: 11年1月1日
在存储过程中我写的:
select TO_DATE(date_operation_transfert, 'DD/MM/YYYY'), TO_DATE(date_valeur_transfert, 'DD/MM/YYYY'), montant_transfert, compte_cible
from transfert
where compte_cible = numAccount
order by date_operation_transfert desc;
在Java端,当我看到我的结果集,我有:让维耶01 ,0011
这怎么可能?所有我想要的是Oracle存储为一问才日期:DD/MM/YYYY
感谢您的帮助
感谢您的回答。即使我使用TO_CHAR函数,也存在一个问题。它回来的字符串是23/05/0011。 – mlwacosmos 2011-05-25 06:42:11
问题是我的日期以这种方式存储:DD/MM/RR(NLS_date_format)。我试图在spfile中改变它,但不能。这是一些参数比我的NLS_DATE_FORMAT更强 – mlwacosmos 2011-05-25 06:44:53
如果日期存储为字符串,则不应对它们使用“TO_CHAR”。如果日期存储为日期,并且'TO_CHAR(col,'DD/MM/YYYY')'返回23/05/0011,这意味着日期在公元11年! – 2011-05-26 02:55:02