题解 | #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

全部评论

相关推荐

流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
32
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务