0

我有这个不返回任何内容的查询:

select
    case when Username like 'participanta%' then
        'Novice'
    when Username like 'participantb%' then
        'Experienced'
    when Username like 'participantc%' then
        'Master'
    end as 'group'
from Users;

我只希望值是“新手”,如果Username是这样participanta12,依此类推。

我也试过这个查询,它只是摆脱Username like了第二个和第三个之后when

select
    case when Username like 'participanta%' then
        'Novice'
    when 'participantb%' then
        'Experienced'
    when 'participantc%' then
        'Master'
    end as 'group'
from Users;

还尝试了单个用户组:

select
    case when Username like 'participanta%' then
        'Novice'
    end as 'group'
from Users;

仍然没有返回任何东西。

4

2 回答 2

2

如果您只是更改,您的第一个查询应该可以工作

as 'group' 

成为

as `group`
于 2013-03-20T18:53:06.003 回答
0

扩展@Mark的答案。

您的第一个案例陈述是正确的。
但是,您使用的as构造错误。

如果您想转义保留的关键字,您需要使用反引号`,而不是引号'

请参阅:具有一系列值的 MySQL 和 CASE WHEN

对于类似的问题。

于 2013-03-20T18:58:17.133 回答