1667-修复表中的名字

发布时间 2023-07-11 16:07:15作者: OnlyOnYourself-Lzw

修复表中的名字

原文地址:1667. 修复表中的名字 - 力扣(LeetCode)

  • 题目如下所示

个人题解

这题说难也难,说简单也简单。难就难在目前作为初学者还未接触到更多的 MySQL 相关函数。个人思考过程如下所示

  • -- 1. 建表
    CREATE TABLE 1667_Users(
    	user_id INT,
    	name VARCHAR(20),
    	PRIMARY KEY(user_id)
    );
    -- 2. 编写一个 SQL 查询来修复名字,使得只有第一个字符是大写的,其余都是小写的
    -- 由题干得知,这是一个 SQL 查询,而不是 update
    -- 那么就需要思考,MySQL 当中有哪些函数可以判断大小写,以及实现类似遍历转换大小写的效果
    -- 必然有这么一个函数,只不过目前不知道
    SELECT u.user_id,CONCAT(UPPER(LEFT(u.name, 1)), LOWER(RIGHT(u.name, LENGTH(u.name) - 1))) name
      FROM 1667_Users u
      ORDER BY u.user_id;
    -- CONCAT(str1,str2,...):用来拼接字符串
    -- LEFT(str,len):从左边截取字符串
    -- RIGHT(str,len):从右边截取字符串
    -- UPPER(str):变为大写
    -- LOWER(str):变为小写
    -- LENGTH(str):获取字符串长度