Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
MySQL在使用='2020-03-21'和创建时间>'2020-04-01';_Mysql - Fatal编程技术网

MySQL在使用='2020-03-21'和创建时间>'2020-04-01';

MySQL在使用='2020-03-21'和创建时间>'2020-04-01';,mysql,Mysql,我的数据库中有这样的记录 *举个例子 身份证件 名称 创建于 1. 乔诺 2020-03-21 12:20:00 2. 阿比 2020-03-25 12:20:00 3. Iko 2020-03-30 12:20:00 这是您在此处需要的逻辑查询: 挑选* 来自transaksi 其中创建时间>='2020-03-21'和创建时间>'2020-04-01'; 为了解释上面的实际含义,让我们使用时间戳文本重写它,并使用完整的H:M:s组件: 挑选* 来自transaksi 其中创建时间>='202

我的数据库中有这样的记录 *举个例子

身份证件 名称 创建于 1. 乔诺 2020-03-21 12:20:00 2. 阿比 2020-03-25 12:20:00 3. Iko 2020-03-30 12:20:00
这是您在此处需要的逻辑查询:

挑选* 来自transaksi 其中创建时间>='2020-03-21'和创建时间>'2020-04-01'; 为了解释上面的实际含义,让我们使用时间戳文本重写它,并使用完整的H:M:s组件:

挑选* 来自transaksi 其中创建时间>='2020-03-21 00:00:00'和创建时间>'2020-04-01 00:00:00'; 这两个查询都将保留创建日期在2020年3月21日午夜或之后且严格在2020年4月1日午夜之前的任何记录。右侧条件则包括2020年3月31日的整一天。

您必须在created_at列上应用mysql函数,以便只获取日期而不获取时间

SELECT *
FROM `transaksi`
WHERE DATE(`created_at`) >= '2020-03-21'
  AND DATE(`created_at`) <= '2020-03-30'

是的,这会起作用,但会阻止在上创建索引。因此,首选的解决方案应该是提前一天检查排除的上限,就像Tim Biegeleisen答案中的第一个查询一样。并且不必要地调用函数,每行两次,不能反对简单地将最晚日期移到第二天。这是2020-03-30 12:20:00的时间元素,即2020-03-30 00:00:00:00之后的12小时20分钟。因此,我应该做的是最后日期声明+1天,或者使用完整时间H:M:S@据我所知,我已经清楚地解释了你的问题。