Mysql 案例陈述不起作用
嘿,伙计们,实际上我是mysql的新手..我写了一段类似这样的代码Mysql 案例陈述不起作用,mysql,Mysql,嘿,伙计们,实际上我是mysql的新手..我写了一段类似这样的代码 CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) ); INSERT
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1,'aff',2,3,5);
我的案件陈述看起来像
select CASE WHEN ID > 0 THEN SET NAME = 'SDFSDF'; ELSE SET NAME = 'ASD'
END CASE;
from CUSTOMERS
当我在SQLFiddle上运行它时,它会给我如下错误
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在“SET NAME='SDFSDF'附近使用的正确语法;ELSE在第1行设置名称='ASD'结束案例':在ID>0时选择案例,然后设置名称='SDFSDF';ELSE集合名称='ASD'结束案例
有人能帮我吗?…任何帮助都将不胜感激。正确的说法是
select
case
when id > 0 then 'sdfsdf'
else 'asd' end as name
from customers ;
你为什么不按照错误信息的建议去做呢。 您应该注意到有
代码>在您的语句中,它不属于那里
正确的陈述应为:
select CASE WHEN ID > 0
THEN 'SDFSDF'
ELSE 'ASD'
END CASE as Name
from CUSTOMERS;
请注意,没有任何编码>在之后,然后
或结束
。而且,集合也不属于那里。您的实现是错误的。查询的结构应该如下所示
SELECT CASE WHEN ID > 0
THEN 'SDFSDF'
ELSE 'ASD'
END AS NAME
FROM CUSTOMERS
您正在尝试更新表中的值吗
在这种情况下,请使用以下命令:
UPDATE customers SET name = CASE WHEN ID > 0 THEN 'SDFSDF' ELSE 'ASD' END
用这个
select CASE WHEN ID > 0 THEN SET NAME = 'SDFSDF' ELSE SET NAME = 'ASD'
END CASE as customer_name from CUSTOMERS
伙计,
你的问题不好。你没有做任何努力。只要看看
你应该从结尾删除大小写单词
Select CASE WHEN ID > 0 THEN SET NAME = 'SDFSDF'; ELSE SET NAME = 'ASD'
END /* CASE */;
/*from CUSTOMERS*/
答复:
select *, (Select CASE WHEN ID > 0 THEN SET NAME = 'SDFSDF'
ELSE SET NAME = 'ASD' END)
from CUSTOMERS
这仍然是无效的。SET
关键字不属于CASE
语句中。