CONCAT 与 IF ELSE 一起使用?

pow*_*tac 4 mysql sql

CREATE TABLE `users` (
  `id`             int(11) AUTO_INCREMENT,
  `academicdegree` varchar(255),
  `name`           varchar(255),
  `firstname`      varchar(255),
  `sex`            enum('m','f')
)
Run Code Online (Sandbox Code Playgroud)
SELECT TRIM(CONCAT_WS(" ", firstname, name)) AS fullname FROM users
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以根据ENUM一次查询中“性别”字段中存储的值添加有用的称呼(先生或夫人)?

奖励曲目: 我只能替换这部分查询:TRIM(CONCAT_WS(" ", firstname, name))并且;是不允许的。

Boj*_*les 5

这会工作得很好:

SELECT TRIM(CONCAT_WS(" ", IF(sex='m', 'Mr.', 'Mrs.'), firstname, name)) AS fullname FROM users
Run Code Online (Sandbox Code Playgroud)

您可以使用CASE声明,但是如果您只有两个选项,则IF()声明更有意义。

  • @ean5533谢谢,但这不是删除你完美答案的理由:-) (3认同)