在我的数据库中,我存储了以下日期格式的一个学生数据是07-03-2013(dd-mm-yyyy)。例如,开始日期大于结束日期,结果中没有行返回。
对于前。
从general_details中选择student_name,其中join_date介于'11 -02-2013'和'08 -03-2013'之间
它返回0
如果开始日期小于结束日期
从general_details中选择student_name,其中join_date介于'01 -02-2013'和'08 -03-2013'之间
返回行值1;
请提前建议
答案 0 :(得分:1)
日期按字母顺序进行比较,而不是日期时间标记。
如果您可以影响日期的存储方式,请使用ISO-8601 yyyy-MM-dd
或unix epoc时间戳等格式进行比较。
如果您无法影响数据,可以通过使用substr()
选取组件并与||
连接来转换SQL中的值,如下所示:
substr(join_date,7,4) || substr(join_date,4,2) || substr(join_date,1,2)