2010-12-17 73 views
0



我在mySQL中插入日期格式如mm/dd/yyyy時出現問題。
它顯示日期格式錯誤。我的要求是從前端(coldfusion)以這種格式輸入,並且我使用mySQL5作爲數據庫。

任何幫助將大大appriaciated。
在Coldfusion中插入mm-dd-yyyy日期時發生錯誤

謝謝
Yugal

+0

如果您向我們展示了用於插入的代碼,它將有所幫助。在沒有代碼的情況下,我的猜測是你的日期不明確(mm/dd/yyyy格式通常是導致混淆的原因)。爲什麼不重新安排日期到一個健全的格式 - 即yyyy-mm-dd,MySQL默認? – Spudley 2010-12-17 10:27:34

回答

5

請務必保存日期是一個有效的日期,要麼使用CreateODBCDate(yourDate)CreateODBCDateTime(yourDate)或更好的讓<cfqueryparam>

INSERT into myTable 
(myDate) 
VALUES 
(<cfqueryparam cfsqltype="cf_sql_date" value="#yourDate#">) 
+0

事實上,cfqueryparam應該無需額外的轉換即可處理。 – Sergii 2010-12-17 13:43:16

+0

@Sergii你是對的。 cfqueryparam可以爲你做轉換。我混淆了使用和不使用cfqueryparam進行查詢。我相應地編輯了我的答案。 – 2010-12-17 14:10:41

+0

如果這個日期是從用戶輸入的值,那麼你應該使用cfqueryparam。 – 2010-12-17 16:46:02

1

確保您在日期欄輸入日期,而不是字符串值,作爲字符串的默認投 - >日期在數據庫中可以隨時更改。

例如

insert into TableX (myDateCol) SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y') ... 

和不

insert into TableX (myDateCol) SELECT '05/01/2013' ... 

或然而,在ColdFusion的構造。

1

我覺得你必須提到你給的格式做的工作。

Insert into table TABLE values(XX,'TO_DATE('03-10-92','MM-DD-YY')',XXXXX); 
+0

TO_DATE不是mysql函數(使用STR_TO_DATE) – davek 2010-12-17 11:09:49