Given a table salary
, such as the one below, that has m=male and f=female values. Swap all f and m values (i.e., change all f values to m and vice versa) with a single update statement and no intermediate temp table.
Note that you must write a single update statement, DO NOT write any select statement for this problem.
Example:
1 | | id | name | sex | salary | |
After running your update statement, the above salary table should have the following rows:
1 | | id | name | sex | salary | |
CASE语句
不知道case之前完全没思路, 知道了之后就很简单了. case…when…then…else…end.
1 | # Write your MySQL query statement below |
转化为ascii
答案来源于https://leetcode-cn.com/problems/swap-salary/solution/zi-mu-he-asciihu-zhuan-by-rachy/
很棒的解法!
1 | update salary set sex = char(ascii('m') + ascii('f') - ascii(sex)); |