php - 如何更改 SQL 表的日期(使用 phpmyadmin)?

标签 php mysql sql

我无法理解如何在 SQL 中操作日期格式。我创建了一个列并将类型设置为 date。默认格式似乎是 yyyy-mm-dd。我更喜欢 Jan 1, 2015 这样的格式。是否最好将实际数据以看似标准的 yyyy-mm-dd 格式保存在 SQL 中并从那里进行转换?

在我的例子中,我想创建基于我的 SQL 日期数据的选择(下拉)html 表单。但我希望日期以 Jan 1, 2015 格式显示。所以看来我需要将 SQL 数据转换为我想要的格式,然后在提交回 SQL 时我需要将其重新转换为标准格式。对于后一部分,以下代码似乎有效。但是我如何完成之前的任务,即采用 yyyy-mm-dd 并将其转换为我喜欢的格式?

$myinput='Jan 1, 2015'; 

$sqldate=date('Y-m-d',strtotime($myinput)); 

echo $sqldate; 

最佳答案

您可以使用 DATE_FORMAT()将您的日期值转换为您想要的格式。至于你的情况:

SELECT DATE_FORMAT(`your_col_name`,'%b %d, %Y') AS `your_col_name` FROM `tbl_name`

另一方面,您可以使用 STR_TO_DATE()存储不同格式的 日期存入数据库。例如,如果你想将 Jan 1, 2015 存储到数据库中而不将其转换为 mysql 默认格式,那么你可以使用:

UPDATE `tbl_name` SET `date_col_name` =STR_TO_DATE($date_str,`%b %d, %Y`) WHERE {CONDITION}

但MySQL操作较少适合较快的查询。

关于php - 如何更改 SQL 表的日期(使用 phpmyadmin)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032041/

相关文章:

php - 将 select max case 转换为 laravel query builder

mysql - Grails - 无法使用 Mysql 执行 SELECT WHERE

SQL:合并两个表中的列

MySQL 检查 MAX 值是否重复

php - Joomla JText::_ ("")

php - MySQL : How to set to same position if row value is the same?

php 网络服务器相当于杂种?

mysql - 删除 MySQL 中的双向重复项

php - PDOException : Packets out of order.预期收到0。1.数据包大小= 23

sql - 在 CakePHP 中查询多个模型的相似数据(联合?)