Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于日期排序MySQL查询结果_Php_Mysql - Fatal编程技术网

Php 基于日期排序MySQL查询结果

Php 基于日期排序MySQL查询结果,php,mysql,Php,Mysql,我在一个数据库中有一大堆条目,我想通过日期对它们进行排序,但是日期格式看起来是这样的Y-m-d g:I:s,我怎么能通过日期而不是日期时间来搜索数据库呢?这很简单。首先将日期转换为正确的格式,即Y-m-d h:i:s,这很容易。首先将日期转换为正确的格式,即Y-m-d h:i:s您可以执行以下操作: ORDER BY UNIX_TIMESTAMP(your_date) 您的日期需要首先转换为Y-m-d h:i:s您可以执行以下操作: ORDER BY UNIX_TIMESTAMP(your_d

我在一个数据库中有一大堆条目,我想通过日期对它们进行排序,但是日期格式看起来是这样的
Y-m-d g:I:s
,我怎么能通过日期而不是日期时间来搜索数据库呢?

这很简单。首先将日期转换为正确的格式,即Y-m-d h:i:s,这很容易。首先将日期转换为正确的格式,即Y-m-d h:i:s

您可以执行以下操作:

ORDER BY UNIX_TIMESTAMP(your_date)
您的日期需要首先转换为Y-m-d h:i:s

您可以执行以下操作:

ORDER BY UNIX_TIMESTAMP(your_date)
您的日期需要首先转换为Y-m-d h:i:s

以下是一个示例

$sql="SELECT cast(".$date." AS datetime) as sortdate FROM table order by sortdate ASC";

这里有一个例子

$sql="SELECT cast(".$date." AS datetime) as sortdate FROM table order by sortdate ASC";


如果是datetime字段,请执行此操作以进行订购

ORDER BY date_field ASC
用于搜索do

WHERE DATE(date_field) = '2010-05-08'

如果是varchar类型字段,请查看
STR_TO_DATE
()

如果是datetime字段,请执行此操作以进行排序

ORDER BY date_field ASC
用于搜索do

WHERE DATE(date_field) = '2010-05-08'

如果是varchar类型的字段,请尝试查看
STR_TO_DATE
()

它在数据库中显示为Y-m-d h:i:s,但我不确定如何根据日期而不是日期时间查询条目,例如:“选择*WHERE dateTime='2010-05-08'”,这是可能的吗?@kielei如果它的格式已经正确,请使用date()函数进行筛选:
WHERE date(dateTime)='2010-05-08'“
而且订购alreadyIt在数据库中显示为Y-m-d h:i:s应该没有问题,但我不确定如何根据日期而不是日期时间来查询条目,例如:“选择*WHERE dateTime='2010-05-08'”,这是可能的吗?@kielie如果已经是正确的格式,请使用date()过滤功能:
WHERE date(dateTime)='2010-05-08'“
而且订购alreadyposter应该没有问题。表中没有提到时间戳的用法。日期已经是Y-m-dh:i:sif如果它转换为Y-m-dh:i:s,则无需使用时间戳进行订购。Y-m-d h:i:s可以订购。这就是这样一个formatposter的目的,它没有在表中提到时间戳的使用。日期已经是Y-m-dh:i:sif如果它转换为Y-m-dh:i:s,则无需使用时间戳进行订购。Y-m-d h:i:s可以订购。这就是格式$sql=“按sortdate ASC从表order中选择cast(“.$date.”作为datetime)作为sortdate的目的”$sql=“按sortdate ASC从表order中选择强制转换(“.$date.”作为datetime)作为sortdate”;