力扣-修复表中的名字
创始人
2024-06-02 01:04:09
0

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。

文章目录

  • 前言
  • 一、题目:1667. 修复表中的名字
  • 二、解题
    • 1.正确示范①
      • 提交SQL
      • 运行结果
    • 2.正确示范②
      • 提交SQL
      • 运行结果
    • 3.正确示范③
      • 提交SQL
      • 运行结果
    • 4.正确示范④
      • 提交SQL
      • 运行结果
    • 5.其他
  • 总结


前言


一、题目:1667. 修复表中的名字

表: Users

+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| name           | varchar |
+----------------+---------+

user_id 是该表的主键。
该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。

编写一个 SQL 查询来修复名字,使得只有第一个字符是大写的,其余都是小写的。
返回按 user_id 排序的结果表。
查询结果格式示例如下。

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

二、解题

1.正确示范①

提交SQL

select user_id,
concat(upper(left(name,1)),lower(right(name,length(name)-1))
) name
from Users
order by user_id;

运行结果

2.正确示范②

提交SQL

select user_id,
concat(upper(left(name,1)),lower(right(name,char_length(name)-1))
) name
from Users
order by user_id;

运行结果

3.正确示范③

提交SQL

select user_id,
concat(upper(substr(name,1,1)),lower(substr(name,2))) name
from Users
order by user_id;

运行结果

4.正确示范④

提交SQL

select user_id,
concat(upper(substring(name,1,1)),lower(substring(name,2))) name
from Users
order by user_id;

运行结果

5.其他


总结

整体思路就是把第一个字母通过upper大写,其余字母通过lower小写,最后再通过concat拼接起来。
正确示范①思路:
通过left(name,1)取第一个字母
通过right(name,length(name)-1)取其余字母
正确示范②思路:
将示范①中的length改为char_length
正确示范③思路:
通过substr(name,1,1)取第一个字母
通过substr(name,2)取其余字母
正确示范④思路:
通过substring(name,1,1)取第一个字母
通过substring(name,2)取其余字母


知识点:
1.upper()lower()
upper将字符串中的所有字母转换为大写,而lower将字符串中的所有字母转换为小写。
2.left()right()
左侧截取和右侧截取函数,可以用于截取字符串的一部分。left函数返回字符串左侧指定长度的字符,right函数返回字符串右侧指定长度的字符。例如,left(‘csdn’, 2)将返回’cs’,right(‘csdn’, 2)将返回’dn’。
3.length()char_length()
length()函数返回的是字符串中的字节数,而char_length()函数返回的是字符串中的字符数。在大多数情况下,这两个函数返回的结果是相同的,但是当字符串中包含多字节字符时,它们的结果可能会不同。
4.substr()substring()substrb()
substr()函数的语法是substr(str, start, length),其中str是要截取的字符串,start是起始位置,length是要截取的长度。而substring()函数的语法是substring(str, start, length),其中str、start和length的含义与substr()相同,两者可以相互替换。substrb函数是按照字节来截取字符串,而substr函数是按照字符来截取字符串。如果字符串中包含中文等多字节字符,那么使用substr函数可能会出现截取不准确的情况,此时应该使用substrb函数来截取字符串。

相关内容

热门资讯

酒鬼酒:预计2025年上半年净... 酒鬼酒(SZ 000799,收盘价:47.59元)7月14日晚间发布业绩预告,预计2025年上半年归...
各国青年代表感受中华传统非遗文... 7月14日,江苏苏州,苏州御窑金砖博物馆,一名青年代表在门口自拍留念。7月15日,2025年世界青年...
哈佛大学:政府的行动可能令学校...   哈佛大学警告称,如果多项联邦措施全部生效,包括近期通过的对捐赠基金增税,学校每年面临近10亿美元...
找人工客服 为啥这么难 “打客服电话就像闯关,它只会重复说‘好的’,却办不了事。”市民王女士前段时间搬家后,想解除与出租房缴...
鲍威尔要求美央行监察长审查美联... 转自:央视当地时间7月14日,央视记者获悉,在特朗普政府官员加大对美联储运作方式的批评力度之际,美联...
山姆超市,突然被曝!网友坐不住... “好丽友为什么会出现在山姆的货架上?”社交媒体,不止一位用户发出了这样的疑问。近日,山姆会员商店因上...
国内油价或年内第六降 加满一箱...   中新经纬7月15日电 (王永乐) 今日(7月15日)24时,国内成品油新一轮调价窗口将开启。机构...
金冠电气预中标国家电网5302... 上证报中国证券网讯(记者王乔琪)7月14日晚间,金冠电气发布公告,近日,国家电网有限公司2025年第...
澳媒:美推稳定币或引爆全球金融... 转自:千龙网据澳大利亚《对话》网站7月9日报道,6月17日,美国参议院通过了《指导与建立美国稳定币国...
中泰证券2025年上半年净利润... 来源:中访网财观中访网数据  中泰证券股份有限公司(证券代码:600918)今日发布2025年半年度...