如何进行mysql查询来检索记录而不跨越日期?

3ks5zfa0  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(151)

必须在数据库中查找日期间隔与请求间隔不相交的所有记录。假设请求的间隔由开始日期和结束日期组成。有关记录间隔的数据在“日期范围”列中。问题是日期间隔上的数据有一种不方便的格式,它们以这种格式存储:“yyyy-mm-dd yyyy-mm-dd/yyyy-mm-dd yyyy-mm-dd”。如何创建查询来检索记录而不跨越日期?
例子:

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(6) unsigned NOT NULL,
  `content` varchar(200) NOT NULL,
  `date_ranges` mediumtext NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `test` (`id`, `content`, `date_ranges`) VALUES
  ('1', 'content1', '2018-10-30 - 2018-11-05/2018-11-12 - 2018-11-14/2019-01-15 - 2019-08-22'),
  ('2', 'content2', '2018-12-15 - 2018-12-17/2018-11-15 - 2018-11-22'),
  ('3', 'content3', '2018-09-30 - 2018-11-19/2018-11-11 - 2018-11-16/2019-01-16 - 2019-08-18/2018-10-30 - 2018-11-05'),
  ('4', 'content4', '2018-10-30 - 2018-11-05'),
  ('5', 'content5', '');

sqlfiddle.com/#!9/4b2dcf/1号

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题