mySQL 中的默认日期时间格式


Default datetime format in mySQL

我正在编码通过比较dateTime来搜索数据。在 Web 表单中,用户输入值2012-06-04存储在$_REQUEST['dateSearch']中。我从中创建dateTime对象:

$dateObj = date_create_from_format("Y-m-d",$_REQUEST['dateSearch']);
$dateParam = $dateObj->format("Y-m");

然后我在 sql 查询中使用$dateParam来查找数据

$sql = "
    SELECT *
    FROM `temp` as `t`
    WHERE `t`.`date` LIKE '$dateParam%'
";

一切都很好,但我不确定MySQL是否总是只使用一种dateTime格式Y-m-d H:i:s。在这里,$dateParam = $dateObj->format("Y-m");我设置的默认格式是"Y-m"。默认格式永远不会更改吗?我不希望在代码中Y-m-d H:i:s硬设置格式,而不是,我认为从系统中获取格式字符串更好。如何从 mySQL 获取默认dateTime格式字符串???

你误解了,Y-m-d H:i:s
日期时间数据类型的唯一格式。

Y-m-d = date
H:i:s = time

这就是为什么被命名为datetime

要在 mysql 中更改日期时间的返回格式,
您可以在MySQL中使用date_format函数

date_format('%Y-%m') = 2012-06

最好在下面使用!

select * from users where month(`t`.`date`)='12' and year(`t`.`date`)='2010'

参考:月份年份的 MySQL 查询