我可以在MySQL中更改日期格式吗?

时间:2012-03-09 13:43:17

标签: mysql date format

标准格式为YYYY-MM-DD。我想将其更改为DD-MM-YYYY(巴西格式)。 有没有办法在MySQL中做到这一点?我不想在PHP或SQL子句中格式化它,因为它将是如此多的工作。而且我必须多次从我的Db中拨打这些日期。

3 个答案:

答案 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而不是物理表。但是有一些缺点/缺点。字符串排序与日期(即数字)不同。如果以后需要执行日期数学,则可能需要额外的转换代码,因为值是字符串,而不是日期对象。

通常,格式化和表示实际上是前端应用程序的工作,而不是数据库。