我有一个MySQL列设置如下
daterange = 02/27/2017 - 02/29/2017
现在我想
SELECT * FROM leaves WHERE daterange (>= firstvalue && <= secondvalue)
这可能吗?拆分每个值,因为它们被保存为一个字符串?否则,我想我必须在将日期范围插入表格之前将其拆分。
答案 0 :(得分:1)
假设daterange,firstvalue和secondvalue是您可以在
之间使用的正确日期(日期时间)数据类型SELECT *
FROM leaves
WHERE daterange BETWEEN firstvalue AND secondvalue
如果调用的某些值不是日期数据类型而是varchar,则应使用str_to_date或
正确转换答案 1 :(得分:0)
首先,修复您的数据结构。以下是存储范围的错误:
[0, -0.5, 0, -1]
或date
)存储,而不是字符串。那就是说,有时你会被其他人的设计决定所困扰。因此,如果您完全无法修复数据结构,那么可以解决这个问题。您可以将范围转换为所需的值:
datetime