我的sql插件是date(%d-%M-%y)
但是对该字段没有影响,没有添加任何数据。也没有插入02-Dec-2010
。我需要更改表格字段类型或默认值,以便插入日期为2010年12月2日格式?
Field: creationdate
Type: timestamp
Default: CURRENT_TIMESTAMP (showing 0000-00-00 00:00:00)
答案 0 :(得分:3)
您不预先格式化日期。您插入格式为YYYY-MM-DD HH:II:SS的时间戳,当您需要格式化日期(SELECT语句)时,使用DATE_FORMAT函数。
如果您已经拥有类似02-Dec-2010的时间戳,则可以使用STR_TO_DATE函数将其转换为实时时间戳。
mysql> SELECT DATE_FORMAT(current_date, '%d-%b-%Y');
+--------------------------------+
| DATE_FORMAT(NOW(), '%d-%b-%Y') |
+--------------------------------+
| 02-Dec-2010 |
+--------------------------------+
mysql> SELECT STR_TO_DATE('02-Dec-2010', '%d-%b-%Y');
+----------------------------------------+
| STR_TO_DATE('02-Dec-2010', '%d-%b-%Y') |
+----------------------------------------+
| 2010-12-02 |
+----------------------------------------+
答案 1 :(得分:0)
MySQL期望date / datetime数据类型包含日期和/或时间戳,日期和/或时间戳的日期为YYYY-MM-DD格式,其中 - 是任何有效的分隔符。 2010年12月2日不是这些类型的有效日期。