提前感谢您的任何建议或提示!
我在mysql数据库table1中有一个预订表。它包含开始日期和结束日期。我还有另一个表table2,它包含我需要获取的信息,但是只有当特定日期不在table1中任何行中的任何日期之间时才会这样。
一个例子;
select table2.testfield
FROM table2, table1
WHERE '2011-02-24 18:00:00'
NOT BETWEEN table1.start
AND table1.finish然而,我不能让它工作!有什么建议吗?
发布于 2011-02-24 23:12:54
这应该是可行的,但看起来应该更像
select table2.testfield
FROM table2, table1
WHERE table1.YourField = '2011-02-24 18:00:00'
AND
NOT BETWEEN table1.start AND table1.finish这还假设您的table1.start和table1.finish字段的类型为DateTime。如果它们不是,您可以尝试转换字段
select table2.testfield
FROM table2, table1
WHERE table1.YourField = '2011-02-24 18:00:00'
AND
NOT BETWEEN Cast(table1.start as DateTime) AND Cast(table1.finish As DateTime)date编辑看着你的问题,我意识到日期可能不是一个数据库值:)所以你的方法应该可以工作,但你可能需要将字符串转换为。
发布于 2011-02-24 23:13:08
然后是这样的吗?
select table2.testfield
FROM table2, table1
WHERE
table1.start > convert(datetime,'2011-02-24 18:00:00')
or table1.finish < convert(datetime,'2011-02-24 18:00:00')https://stackoverflow.com/questions/5106466
复制相似问题