我有一个带有 varchar
col (ArrangementDate) 的 mysql
数据库,它包含日期:
我正在运行此查询:
select * from insolvenceyTestdetailstable
WHERE STR_TO_DATE( `ArrangementDate` , '%d/%m/%Y' ) BETWEEN '7/5/2009' AND '26/2/2016'
and ID > 0 LIMIT 50000;
但是当在数据库中我可以清楚地看到行时它返回 0 结果:
27/2/2015
9/10/2013
9/10/2012
有什么建议吗?
最佳答案
问题应该是您比较的日期格式。
将 '7/5/2009'
替换为 2009-05-07
,将 '26/2/2016'
替换为 '2016-02-26'
您可以通过使用 select 查询来轻松测试有效日期
select DATE('2015-02-27') as D1, DATE('27/2/2015') as D2; //D1 valid, D2 null
你的陈述应该是这样的
select * from insolvenceyTestdetailstable
WHERE STR_TO_DATE( `ArrangementDate` , '%d/%m/%Y' ) BETWEEN '2009-05-07' AND '2016-02-26'
and ID > 0 LIMIT 50000;
关于c# - 使用日期条件从 Varchar Col 提取数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35651638/