sql 中的 case when(mysql 为例)

mysql> SELECT Name, RatingID AS Rating,
-> CASE RatingID
-> WHEN 'R' THEN 'Under 17 requires an adult.'
-> WHEN 'X' THEN 'No one 17 and under.'
-> WHEN 'NR' THEN 'Use discretion when renting.'
-> ELSE 'OK to rent to minors.'
-> END AS Policy
-> FROM DVDs
-> ORDER BY Name;
+-----------+--------+------------------------------+
| Name | Rating | Policy |
+-----------+--------+------------------------------+
| Africa | PG | OK to rent to minors. |
| Amadeus | PG | OK to rent to minors. |
| Christmas | NR | Use discretion when renting. |
| Doc | G | OK to rent to minors. |
| Falcon | NR | Use discretion when renting. |
| Mash | R | Under 17 requires an adult. |
| Show | NR | Use discretion when renting. |
| View | NR | Use discretion when renting. |
+-----------+--------+------------------------------+
8 rows in set (0.01 sec)


*/

Drop table DVDs;

CREATE TABLE DVDs (
ID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR ( 60 ) NOT NULL,
NumDisks TINYINT NOT NULL DEFAULT 1 ,
RatingID VARCHAR ( 4 ) NOT NULL,
StatID CHAR ( 3 ) NOT NULL
)
ENGINE=INNODB;

INSERT INTO DVDs ( Name, NumDisks, RatingID, StatID )
VALUES ( 'Ch ristmas ', 1 , 'NR', 's1'),
( 'Do c ', 1 , 'G' , 's2'),
( 'Af rica ', 1 , 'PG', 's1'),
( 'Fa lcon ', 1 , 'NR', 's2'),
( 'Am adeus ', 1 , 'PG', 's2'),
( 'Sh ow ', 2 , 'NR', 's2'),
( 'Vi ew ', 1 , 'NR', 's1'),
( 'Ma sh ', 2 , 'R' , 's2');


SELECT Name, RatingID AS Rating,
CASE RatingID
WHEN 'R' THEN 'Un der 17 requires an adult. '
WHEN 'X' THEN 'No one 17 and under. '
WHEN 'NR' T HEN 'Us e discretion when renting. '
ELSE 'OK to rent to minors. '
END AS Policy
FROM DVDs
ORDER BY Name;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值