select if('2099-12-31'>NOW(),'2099-12-31',NOW()) AS 'the_date'
不然你的这个得放在函数或者存储过程才行

解决方案 »

  1.   

    DECLARE l_date DATE DEFAULT '2099-12-31';
    [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE l_date DATE DEFAULT '2099-12-31'' at line 1 
    这里已经提示得很清楚了,是语法错误。
    这些(定义变量)语法只有在存储过程或者函数当中才能使用。
      

  2.   

    无法执行,MYSQL不支持匿名块。 过程性语句必须放在存储过程中。