MySQL查询帮助...检查true或false?

时间:2013-02-20 06:56:51

标签: mysql sql boolean

好的,我有一张客户表

in the screen shot, you can see the columns

我想做的是,如果客户的性别是男性,我想与其他先生联系,如果是女性,应该与女士联系,我该怎么办呢?

2 个答案:

答案 0 :(得分:3)

您可以使用inline IF声明,

SELECT  IF(gender = 'Male', CONCAT('Mr. ', fname),CONCAT('Ms. ', fname)) Name
FROM    customer

您也可以使用其他RDBMS支持的CASE

SELECT  CASE WHEN gender = 'Male'
            THEN CONCAT('Mr. ', fname)
            ELSE CONCAT('Ms. ', fname)
        END Name
FROM    customer

答案 1 :(得分:0)

另一种方法

SELECT CONCAT(CASE gender 
                WHEN 'Male' THEN 'Mr. ' 
                WHEN 'Female' THEN 'Ms. ' 
              END,  `fname`,  ' ', `lname`) AS `name` 
  FROM customer

sqlfiddle

输出

|           NAME |
------------------
|   Mr. Jhon Doe |
| Ms. Helen Ross |

您可以使用CASE gender WHEN 'Male' THEN 'Mr. ' ELSE 'Ms. ',但问题是,如果您的性别列可以为空,那么您将获得所有性别未知的记录(或客户不想透露)的女士

那个

sqlfiddle