我试图在日期之间
SELECT y.*, x.id as customerNumber
FROM table1 y
LEFT JOIN table2 x
ON x.id = y.id
WHERE y.date_created BETWEEN ('2011-12-06','yyyy-mm-dd') AND y.date_created('2011-12-07','yyyy-mm-dd');
这给了我错误
代码:1241。操作数应包含 1 列
我究竟做错了什么?
您y.date_created
在 的右侧重复,并在两侧BETWEEN
传递两个字符串值:()
y.date_created between '2011-12-06' AND '2011-12-07';
格式中的日期文字YYYY-mm-dd
本身就足够了。通过传递('2011-12-06', 'yyyy-mm-dd')
到BETWEEN
,它在左侧看到两个操作数并出错。然后在右侧,您可以y.date_created()
像函数一样使用语法,这也不起作用。
WHERE y.date_created between '2011-12-06' AND '2011-12-07'
就那么简单
请注意,between '2011-12-06' AND '2011-12-07'
等于between '2011-12-06 00:00:00' AND '2011-12-06 23:59:59'
,而不是2011-12-07 23:59:59
在您的代码中: y.date_created between ('2011-12-06','yyyy-mm-dd') AND y.date_created('2011-12-07','yyyy-mm-dd');
我认为在两者之间您不需要再次使用和短语重复字段名称:
y.date_created between ('2011-12-06','yyyy-mm-dd') AND ('2011-12-07','yyyy-mm-dd');