我在mysql中有一個簡單的表,其中有一個record_id和一個date類型的字段。我怎樣才能轉換下面的查詢,以便它在插入..它似乎日期輸入無法識別。如何將此輸入轉換爲可接受的日期
insert into test_table (record_id,date_test) values ('1','21-JUN-42')
我將不勝感激任何幫助或解釋。
PS:date_test的類型是日期。
謝謝
我在mysql中有一個簡單的表,其中有一個record_id和一個date類型的字段。我怎樣才能轉換下面的查詢,以便它在插入..它似乎日期輸入無法識別。如何將此輸入轉換爲可接受的日期
insert into test_table (record_id,date_test) values ('1','21-JUN-42')
我將不勝感激任何幫助或解釋。
PS:date_test的類型是日期。
謝謝
待辦事項轉換插入前
insert into test_table (record_id,date_test) values ('1', STR_TO_DATE('21-JUN-12', '%e-%M-%y'))
這工作良好,但它把2012年,而它需要是1912例如 – user710502 2012-01-28 06:12:30
然後,你應該有你的年份字符串與4位數字格式。並將日期格式化程序更改爲'%e-%M-%Y' – batbaatar 2012-01-28 06:17:46
對於1912年,您需要以21-JUN-1912格式提供。並使用STR_TO_DATE('您的日期字符串','%e-%M-%Y');其他威脅默認情況下將需要當前世紀。如果你的所有記錄在19 ..那麼你可以手動做一些事情。 – 2012-01-28 06:20:16
重新安排的日期爲ISO-8601格式:
insert into test_table (record_id, date_test) values (1, '1942-06-21')
我也掉在了record_id
值引號,你不應該引用數字即使MySQL將讓你逃脫它。
我無法安排它的應用程序發送它那樣..有沒有演員或我可以用來將其轉換爲該格式的東西? – user710502 2012-01-28 05:57:38
如果要插入日期字段,你必須這樣做的格式(YYYY-MM-DD).
沒有必要把RECORD_ID的值,如果它是auto increment
。
使用DATE_FORMAT更改日期要求的格式一樣
date_format('Your date string',"%Y-%m-%d")
OR
STR_TO_DATE('Your date string', "%e-%M-%Y")
我無法安排它的應用程序發送它就像..有沒有演員或我可以用來將其轉換爲該格式的東西? – user710502 2012-01-28 05:59:12
是。使用date_format函數更改 – 2012-01-28 06:00:55
對於1912,您需要以21-JUN-1912格式給出。並使用STR_TO_DATE('您的日期字符串','%e-%M-%Y');其他威脅默認情況下將需要當前世紀。如果你的所有記錄在19 ..那麼你可以手動做一些事情。 – 2012-01-28 06:17:42
RECORD_ID是自動遞增的主鍵? – 2012-01-28 05:52:16
什麼錯誤你得到 – 2012-01-28 05:53:53
我沒有與主鍵的問題,它的日期字段我需要能夠將該字段強制轉換爲有效的日期。 – user710502 2012-01-28 05:58:47