gpt4 book ai didi

mysql - 我怎样才能在mysql中计算两列?

转载 作者:行者123 更新时间:2023-11-29 18:49:14 25 4
gpt4 key购买 nike

我想在 mysql 中计算两列。其中一列是一个字符串,但另一列是像 06/08/2017 这样的日期,当我执行查询时,我得到 0 个结果。

SELECT count(*) FROM `castigos` WHERE inicio_normal=05/06/2017 AND cod_emplazamiento=1

我有该数据的条目,但它没有向我显示任何内容。也许日期中的数据类型错误?

我该怎么办? enter image description here

最佳答案

将日期字段添加到您的选择中并按其分组。否则 mysql 扩展无法识别您想要按日期分组,并将所有结果聚合到 1 列中。由于计数为 0,因此 where 子句一定不起作用。

您的日期格式似乎格式不正确。通常为 YYYY/MM/DD 格式(标准格式);或使用 SELECT STR_TO_DATE('17/09/2010','%d/%m/%Y'); 指定格式

MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.

下面使用隐式转换和默认日期格式将字符串日期转换为有效日期。

SELECT inicio_normal, count(*) 
FROM `castigos`
WHERE inicio_normal='2017/05/06'
AND cod_emplazamiento=1
GROUP BY inicio_normal

否则,它会进行数学计算,并将该日期与为该日期存储的数字进行比较。

了解日期应存储在日期数据类型中,并且当您查询日期时,您将传入一个字符串,该字符串将转换为日期数据类型以进行比较。因此,您需要使用标准格式,或者将字符串转换为日期,以便数据库引擎知道如何将您的格式转换为日期。

关于mysql - 我怎样才能在mysql中计算两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44443495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com