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