如何在mysql中为like运算符指定别名

时间:2011-07-04 03:56:16

标签: mysql sql column-alias

我想从表中选择像'Bo%'这样的名称或者像'Ni%'这样的名字,我想给所有这个名字提供一个特定的名字,比如Bo,以及所有名字的特定名称,比如Ni。 但是,如果我给出一个别名,那就不行了。

将'Bo%'命名为男性,或将名称命名为'Ni%'作为女性。 那我怎么能这样做呢?

1 个答案:

答案 0 :(得分:1)

SQL允许您为列或表添加别名。您不能基于每个值替换列名称 - 名称需要保持一致,以便您可以引用它以供以后的操作使用。

您需要为要查看的每个选项指定一列:

SELECT CASE WHEN t.col LIKE 'Bo%' THEN t.col ELSE NULL END AS male,
       CASE WHEN t.col LIKE 'Ni%' THEN t.col ELSE NULL END AS female
  FROM YOUR_TABLE t

...但这意味着男性或女性专栏可能为空 - 如果LIKE都不匹配,则两者都是:

name    male  female
-------------------
Bob     Bob   NULL
Nirmal  NULL  Nirmal
Xander  NULL  NULL