在用户变量中存储mysql日期时间

时间:2011-05-15 21:39:00

标签: mysql sql

我有一个非常复杂的MySQL查询问题,但我已将问题缩小到下面的SQL。问题是MySQL日期函数(WEEK,YEAR等)不接受存储在用户变量中的日期时间。

SELECT
@test := datetime
,datetime
FROM `agenda`
WHERE YEAR(@test) = 2011

这不会给我任何结果,但是,下面的SQL给了我结果:

SELECT
@test := datetime
,datetime
FROM `agenda`
WHERE YEAR(datetime) = 2011

(datetime是议程表中的字段名。)

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

在第一个查询中,您尝试根据WHERE子句设置@test等于datetime字段值,该子句本身是指@test的值。

除非@test预先有一个值,否则你不能指望这会产生任何有意义的结果。