标准格式为YYYY-MM-DD。我想将其更改为DD-MM-YYYY(巴西格式)。 有没有办法在MySQL中做到这一点?我不想在PHP或SQL子句中格式化它,因为它将是如此多的工作。而且我必须多次从我的Db中拨打这些日期。
答案 0 :(得分:3)
简而言之,不。
基本上,为了完成您的要求,您需要在创建表时指定日期格式:http://dev.mysql.com/doc/refman/5.1/en/create-table.html。该文档没有指定任何预先格式化列值的方法。
可能有一种方法可以将日期格式化为mysql数据库配置。 IE默认值。但是我没有在文档中看到这一点。
答案 1 :(得分:1)
使用SELECT date_format(dateField, '%d/%m/%Y') as newDateField
检索日期并创建一个PHP函数,以便在yyyy-mm-dd
之前转换INSERT
。这是唯一更好的方式。
Vaiquedácerto!;
答案 2 :(得分:0)
我不是一个php人,但MySQL将日期和时间作为数字存储在内部,而不是字符串。因此,当您查询数据库时,您实际获得的是一个数字。如何显示该数字取决于您用于查看数据的任何工具(Web应用程序,sql gui等)。因此,任何格式更改都需要在那个工具中进行,而不是mySQL。换句话说,你的PHP代码。
如果你绝对不能这样做,你可以修改你的个人查询或创建一个生成所需格式的VIEW
。然后查询VIEW
而不是物理表。但是有一些缺点/缺点。字符串排序与日期(即数字)不同。如果以后需要执行日期数学,则可能需要额外的转换代码,因为值是字符串,而不是日期对象。
通常,格式化和表示实际上是前端应用程序的工作,而不是数据库。