我对MySQL返回的值有一个快速的问题。
在我的一个表格中,我有一个分配了date
数据类型的列。将信息插入数据库后,将自动执行curdate()
以插入正确的日期。
也就是说,MySQL认识到价值是一个约会。我有一个PHP脚本,可以提取该值并将其呈现给用户。现在,这个值是从php的角度来看的字符串吗?
我想要做的是,如果有必要,我应该说,使用拉出的值并将其插入到新表中(例如:10/1/12由php拉出然后插入到新表中)。如果是这种情况,我可以简单地将该值放入数据类型为date
的新表的列中吗?或者MySQL不会将其识别为日期?
感谢任何见解。
答案 0 :(得分:0)
MySQL非常聪明,可以将字符串转换为日期。该字符串应该可以是任何标准格式,它将正确翻译它。
编辑:对不起,我错了。您可以使用PHP或MySQL日期解析函数来处理此问题。在PHP中:
date("Y-m-d", strtotime($row['myDateField']));
以下是strtotime可以解释的有效日期字符串列表: http://www.php.net/manual/en/datetime.formats.date.php
答案 1 :(得分:0)
您可以使用此方法DateTime :: createFromFormat
答案 2 :(得分:0)
你可以使用mySQL str_to_date()将字符串转换为日期...所以你可以用mySQL直接保存一个带日期格式的字符串(" yyyy-MM-dd")然后用mySQL方法转换它STR_TO_DATE()。
HERE
答案 3 :(得分:0)
MySQL没有本机日期的语法。相反,它使用默认日期格式自动从/向字符串转换日期:
mysql> SELECT @@date_format, @@datetime_format;
+---------------+-------------------+
| @@date_format | @@datetime_format |
+---------------+-------------------+
| %Y-%m-%d | %Y-%m-%d %H:%i:%s |
+---------------+-------------------+
1 row in set (0.00 sec)
...格式代码是DATE_FORMAT()函数文档中解释的格式代码。您可以随时使用例如:
来控制演员阵容说,事实是太多工具依赖于@@date_format
和@@datetime_format
保持其出厂价值,因此在整个系统中更改它们可能会破坏很多东西。
PHP扩展可以将日期列转换为DateTime个对象(您没有说明您正在使用哪个对象)但是当前没有任何内置的对象执行它,这是一个可惜。