我正在研究平均几行数据,我一直在破坏我的屁股,并且我“想”到下一个错误。
ERROR 1584 (42000): Incorrect parameters in the call to stored function 'cast'
我跑这个时得到这个
select avg(volume) from _AAPL WHERE date between cast('2014-02-03' as date) and cast ('2014-05-05' as DATE);
_AAPL是我的表,日期是我的列“日期”日期已经在“日期”下的数据库中
我无法摆脱这个错误,任何想法?
答案 0 :(得分:4)
在" CAST"之后你不应该有任何空间。 :
演员(' 2014-05-05'作为日期)
而不是
cast ('2014-05-05' as DATE)
顺便说一下,我不确定在日期格式化为“yyyy-mm-dd' :我只想写
`column` BETWEEN '2014-02-03' AND '2014-05-05'
答案 1 :(得分:1)
在mysql中,您可以使用str_to_date
函数将字符串文字转换为日期:
SELECT AVG(volume)
FROM _AAPL
WHERE `date` BETWEEN STR_TO_DATE ('2014-02-03', '%Y-%m-%d') AND
STR_TO_DATE ('2014-05-05', '%Y-%m-%d')
答案 2 :(得分:1)
演员用于什么?它的工作原理如下:
SELECT AVG(volume) FROM _AAPL WHERE date BETWEEN '2014-02-03' AND '2014-05-05';