日期格式的MySQL concat列

日期格式的MySQL concat列,mysql,date,Mysql,Date,我有这个表:表1,和四个变量,返回:月:2014年1月和2015年3月 我需要返回2014年1月至2015年3月之间包含的行。谢谢大家! 在MySQL中,您可以按组合列进行筛选: SELECT * FROM table1 WHERE (`YEAR`, `MONTH`) >= (2014,1) AND (`YEAR`, `MONTH`) <= (2015,3) 或 和类似的查询: WHERE `DATE` >= '2014-01-01' AND `DATE` <

我有这个表:表1,和四个变量,返回:月:2014年1月和2015年3月


我需要返回2014年1月至2015年3月之间包含的行。谢谢大家!

在MySQL中,您可以按组合列进行筛选:

SELECT *
FROM table1
WHERE (`YEAR`, `MONTH`) >= (2014,1)
  AND (`YEAR`, `MONTH`) <= (2015,3)

和类似的查询:

WHERE `DATE` >= '2014-01-01'
  AND `DATE`  < '2015-04-01'
其中`DATE`>='2014-01-01'
和“日期”<'2015-04-01'

Not work,我的错误是:#1241:操作数应该包含1列。@ster-不能在它们之间工作。尝试新版本。请注意,这种查询不能使用索引。@草莓-我必须同意和不同意:查询可以使用索引,但MySQL不能。在有关MySQL的问题中,这是一种相同的情况,不是吗?不起作用,只返回年(20142015)中的月份(1、2和3)将日期存储为单个实体。
WHERE (`YEAR`, `MONTH`) >= (2014,1)
  AND (`YEAR`, `MONTH`) <= (2015,3)
  AND `YEAR` >= 2014
  AND `YEAR` <= 2015
WHERE DATE(CONCAT_WS('-', `YEAR`, `MONTH`, 1)) >= '2014-01-01'
  AND DATE(CONCAT_WS('-', `YEAR`, `MONTH`, 1)) <= '2015-03-01'
WHERE (`YEAR` = 2014 AND `MONTH` >= 1)
   OR (`YEAR` = 2015 AND `MONTH` >= 3)
   OR (`YEAR` > 2014 AND `YEAR` < 2015)
`DATE` AS STR_TO_DATE(CONCAT_WS('-', `YEAR`, `MONTH`, `DAY`),'%Y-%m-%d') VIRTUAL KEY
WHERE `DATE` >= '2014-01-01'
  AND `DATE`  < '2015-04-01'
SELECT 
  DATE_FORMAT (CONCAT (DAY,' ', MONTH,' ',YEAR), GET_FORMAT(DATE,'EUR')) AS NEW_DATA,
  DESCRIPTION
FROM table1
WHERE
(YEAR BETWEEN $START_YEAR AND $END_YEAR) 
AND (MONTH BETWEEN $START_MONTH AND $END_MONTH)