当前位置: 首页 > article >正文

[每日一练]修复表中的名字

#该题目来源于力扣:

1667. 修复表中的名字 - 力扣(LeetCode)

题目要求:

表: Users

+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| name           | varchar |
+----------------+---------+
user_id 是该表的主键(具有唯一值的列)。
该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。
 

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

返回按 user_id 排序的结果表。

返回结果格式示例如下。

 

示例 1:

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

思路流程:

我们需要将字符串开头的第一个字符变成大写,其他字符变成小写。由于MySQL中没有之间可以变换大小写的代码,所以我们需要分别将两者进行代码变换,然后进行联合。需要用到的代码如下:

LEFT(str,len)从字符串左开始取len个值
RIGHT(str,len)从字符串右开始取len个值
length(str,len)返回字符串str的len长度
concat(value1......)连接多个字符串
UPPER()字符串大写
LOWER()字符出小写

字符串向左娶一位,进行大写转换,字符串从右开始,取n-1个字符,进行小写转换,最后将他俩进行连接即可。

最后按照id列进行升序排序

代码实现:

# Write your MySQL query statement below
SELECT user_id ,
concat(
    upper(left(name,1)),
    lower(right(name,length(name)-1))
) as name
from Users
ORDER BY user_id ASC


http://www.kler.cn/a/320842.html

相关文章:

  • 消息队列原理面试题及参考答案
  • 7.高可用集群架构Keepalived双主热备原理
  • 【实验11】卷积神经网络(2)-基于LeNet实现手写体数字识别
  • ADS学习笔记 5. 微带天线设计
  • python面向对象基础入门
  • 基于rk356x u-boot版本功能分析及编译相关(三)Makefile分析
  • Dependency Check:一款针对应用程序依赖组件的安全检测工具
  • ACM MM24 | Hi3D: 3D生成领域再突破!新视角生成和高分辨率生成双SOTA(复旦智象等)
  • Java 编码系列:异常处理与自定义异常
  • 一些广泛认可的编程工具,在不同的方面帮助我们提升效率
  • 使用cmd命令窗口操作mongodb
  • Scikit-LearnTensorFlow机器学习实用指南(三):一个完整的机器学习项目【下】
  • mask2former训练自定义数据集
  • Leetcode算法基础篇-位运算
  • 架构师论文备考-论软件系统架构评估
  • 云轴科技ZStack AIOS平台智塔亮相华为全联接大会
  • 在 macOS 上安装 ADB给安卓手机装APK,同样适用智能电视、车机
  • 单词的秘密2
  • DNS协议解析
  • leetcode第十三题:罗马数字转整数
  • win 录屏软件有哪些?5个软件帮助你快速进行电脑录屏。
  • 记录一次学习--委派攻击学习
  • 关于在vue2中自定义右键弹窗
  • nginx使用stream转发流量
  • Elasticsearch 实战应用
  • .netCore运行的环境WindowsHosting和dotnet-sdk区别