【问题标题】:Mysql Storing a variable with the result of an SELECT CASEMysql使用SELECT CASE的结果存储变量
【发布时间】:2011-12-13 20:02:59
【问题描述】:

我正在学习如何使用 SELECT CASE 但我不太了解,这里是代码:

SET @vgls=1;
SET @lgls=1;


SET @st=SELECT CASE 
WHEN @vgls=@lgls THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vgls<@lgls THEN "vis" END;

SELECT @st;

它给了我以下错误:

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to you  MySQL server version for the right syntax to use near 'SELECT CASE 
WHEN @vgls=@lgls THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vg' at line 1

【问题讨论】:

    标签: mysql variables select case store


    【解决方案1】:

    你需要使用SELECT ... INTO

    SELECT
    ...
    INTO var_name [, var_name]]
    

    而不是 set 将 SELECT 的结果分配给变量。所以应该这样做:

    SELECT CASE 
    WHEN @vgls=@lgls THEN "emp"
    WHEN @vgls>@lgls THEN "loc"
    WHEN @vgls<@lgls THEN "vis" END
    INTO @st;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-01
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多