力扣1667. 修复表中的名字

表: Users

复制代码
+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| name           | varchar |
+----------------+---------+
在 SQL 中,user_id 是该表的主键。
该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。

修复名字,使得只有第一个字符是大写的,其余都是小写的。

返回按 user_id 排序的结果表。

返回结果格式示例如下。

示例 1:

复制代码
输入:
Users table:
+---------+-------+
| user_id | name  |
+---------+-------+
| 1       | aLice |
| 2       | bOB   |
+---------+-------+
输出:
+---------+-------+
| user_id | name  |
+---------+-------+
| 1       | Alice |
| 2       | Bob   |
+---------+-------+

解题思路

考察的是SQL中相关字符串函数

代码

复制代码
# Write your MySQL query statement below
# 一、计算字段

# 其实本题主要考察的就是计算字段的使用。
# 二、知识点
# 2.1 CONCAT() 函数

# CONCAT 可以将多个字符串拼接在一起。
# 2.2 LEFT(str, length) 函数

# 从左开始截取字符串,length 是截取的长度。
# 2.3 UPPER(str) 与 LOWER(str)

# UPPER(str) 将字符串中所有字符转为大写

# LOWER(str) 将字符串中所有字符转为小写
# 2.4 SUBSTRING(str, begin, end)

# 截取字符串,end 不写默认为空。

# SUBSTRING(name, 2) 从第二个截取到末尾,注意并不是下标,就是第二个。

# CONCAT 用来拼接字符串 ● LEFT 从左边截取字符 ● RIGHT 从右边截取字符 ● UPPER 变为大写 ● LOWER 变为小写 ● LENGTH 获取字符串长度

# select user_id, CONCAT(UPPER(left(name, 1)), LOWER(SUBSTRING(name, 2))) as name
select user_id, CONCAT(UPPER(left(name, 1)), LOWER(RIGHT(name, length(name) - 1))) as name
from Users
order by user_id

考察字符串函数的用法:

  • CONCAT(str1, str2) : 拼接字符串
  • UPPER(str) : 字符串变成大写
  • LOWER(str) : 字符串变成小写
  • LENGTH(str) : 获取字符串的长度
  • LEFT(str,len) : 获取字符串左边 len 个字符
  • RIGHT(str,len) : 获取字符串右边 len 个字符
  • SUBSTR(str,start,len) : 获取 str 中从 start 开始的 len 个字符
相关推荐
liuzhangfeiabc2 小时前
[luogu12541] [APIO2025] Hack! - 交互 - 构造 - 数论 - BSGS
c++·算法·题解
学习使我变快乐2 小时前
C++:迭代器
开发语言·c++·windows
好想有猫猫2 小时前
【Redis】List 列表
数据库·c++·redis·分布式·缓存·list
平和男人杨争争4 小时前
山东大学计算机图形学期末复习15——CG15
人工智能·算法·计算机视觉·图形渲染
superior tigre4 小时前
C++学习:六个月从基础到就业——C++11/14:其他语言特性
c++·学习
天堂的恶魔9465 小时前
C++ - 仿 RabbitMQ 实现消息队列(2)(Protobuf 和 Muduo 初识)
c++·rabbitmq·ruby
休息一下接着来5 小时前
进程间通信(IPC)常用方式对比
linux·c++·进程间通讯
虾球xz5 小时前
游戏引擎学习第288天:继续完成Brains
c++·学习·游戏引擎
John_ToDebug5 小时前
Chromium 浏览器核心生命周期剖析:从 BrowserProcess 全局管理到 Browser 窗口实例
c++·chrome·性能优化
爱coding的橙子5 小时前
每日算法刷题Day11 5.20:leetcode不定长滑动窗口求最长/最大6道题,结束不定长滑动窗口求最长/最大,用时1h20min
算法·leetcode·职场和发展