我被困在这样的情况下:我通过'LOAD data LOCAL‘从CSV文件读取数据,并将其存储在Mysql表中。
表中的日期列类型为.。
如果我的日期格式为'yy/dd/MM',则以下查询无法工作,它只返回2条记录
select column1, column2 from myTable where date between '16/08/15' and '16/08/20';如果我查了这个
select column1, column2 from myTable where date > '16/08/15';它会归还所有的记录。
是否有办法运行第一个查询,以便指定开始日期和结束日期?
发布于 2016-10-09 12:23:40
在查询中使用日期之前,将日期转换为‘yyyy’格式,这样会更容易。
发布于 2016-10-09 12:49:14
不是像yy那样传递年份,而是在日期字符串中将其作为yy传递,因为我的sql存储日期每年在该format.Since中是一个四位数的日期,在where子句中给出一个两位数的年份,以便提取大于该年的所有记录,实际上将提取所有记录。
发布于 2016-10-09 13:04:50
因为您说date列是"String“类型,而不是DATE类型,所以在查询中mysql并不是在DATE上操作,而是在字符串上操作它。在应用“中间”函数之前,您可能需要将字符串日期转换为实际日期。参见例如日期函数
https://stackoverflow.com/questions/39943523
复制相似问题