gpt4 book ai didi

mysql - 日期比较不起作用(日期是字符串)-MySQL

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:19 24 4
gpt4 key购买 nike

我有一个 MySQL 查询:

select sum(AmtPd) as HCSA from HC062017 where CostCenter = '8718' and ServiceDate > '08/31/2013'

已经使用几个月没有问题。今天我遇到了一个问题,它不工作。 ServiceDate 是一个包含从报告中提取的日期的 var(10)。格式为 mm-dd-yyyy。似乎正在发生的事情是,如果 ServiceDate 是 2013 年(其中一些仍然是),那么该语句就可以完美运行。但是,当 ServiceDate 为 2014 年时,没有选择任何记录。如果我不使用 ServiceDate 参数,我会得到想要的结果(因为这次所有记录都超过了 08/31/2013 日期)。也许我很幸运,因为 '09'、'10' 等月份落在了 '08' 之后。我试过使用 str_to_date 但没有成功

select sum(AmtPd) as HCSA from HC062017 where CostCenter = '8718' and str_to_date(ServiceDate, '%m, %d, %Y') > '08-31-2013';.  

关于如何处理这个问题有什么建议吗?

最佳答案

您需要将两者都转换为通用格式:

str_to_date(ServiceDate, '%m-%d-%Y') > str_to_date('08-31-2013', '%m-%d-%Y')

像您那样比较字符串是个坏主意。字符串按字母顺序进行比较,因此“08-31-2013”​​比“09-30-2010”“更小”,因为先将 9 与 8 进行比较。您可以比较 ISO 格式 YYYY-MM-DD 中的日期。

关于mysql - 日期比较不起作用(日期是字符串)-MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21540540/

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