1

我想从表中选择像“Bo%”这样的名字或像“Ni%”这样的名字,我想给所有像 Bo 这样的名字一个特定的名字,给像 Ni 这样的所有名字一个特定的名字。但是,如果我给它一个别名,它就不起作用。

像'Bo%'这样的名字作为男性或像'Ni%'这样的名字作为女性。那么我该怎么做呢?

4

1 回答 1

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
于 2011-07-04T04:10:14.107 回答