题解 | #SQL 45.对过长的昵称截取处理#
对过长的昵称截取处理
http://www.nowcoder.com/practice/69243e2742bf47f1976db836860c123c
明确题意:
输出昵称字符数大于10的用户信息,对于字符数大于13的用户昵称输出前10个字符然后加上三个点号:『...』
问题分解:
- 筛选昵称字符数大于10的用户:WHERE CHAR_LENGTH(nick_name) > 10
- 对字符数大于13的用户昵称做处理:IF(CHAR_LENGTH(nick_name) > 13,
- 前10个字符加上三个点号:CONCAT(SUBSTR(nick_name, 1, 10), '...')
细节问题:
- 表头重命名:as
完整代码:
SELECT uid,
IF(CHAR_LENGTH(nick_name) > 13,
CONCAT(SUBSTR(nick_name, 1, 10), '...'),
nick_name
) AS nick_name
FROM user_info
WHERE CHAR_LENGTH(nick_name) > 10;
SQL进阶 文章被收录于专栏
SQL进阶step by step