字符串函数

可用

字符串函数列表

比日期和时间更多的功能——只有 String 类型。SQL 中的哪个由 CHAR(n) 和 VARCHAR(n) 类型给出。让我们回顾一下其中最受欢迎的:

功能 描述
1个 长度(str) 以字节为单位返回传递的字符串的长度
2个 CHAR_LENGTH(str) 以字符形式返回传递的字符串的长度
3个 定位(substr,str), 在类似于 indexOf() 方法的字符串中搜索子字符串
4个 定位(substr,str,pos) 从 pos 开始搜索字符串中的子字符串
5个 CONCAT(str1,str2,...) 连接多行
6个 SUBSTR(), SUBSTRING() 返回由一系列字符给出的子字符串
7 降低(str) 将字符串转换为小写
8个 上(str) 将字符串转换为大写
9 代替() 替换字符串中的子字符串
10 匹配() 检查字符串是否匹配给定的模式
十一 修剪(海峡) 修剪字符串开头和结尾的空字符
12 LTRIM(海峡) 修剪字符串开头的空字符
13 RTRIM(海峡) 修剪字符串末尾的空字符
14 TO_BASE64(str) 将字符串转换为 Base64
15 FROM_BASE64(str) 从 Base64 转换字符串

我特意将功能分成小组,以便更容易理解如何使用它们。下面我们将考虑每组中的一个函数。您可以在官方文档中找到处理字符串的完整函数列表。

让我们转换字符串

让我们首先处理最简单的函数,这些函数只是将字符串转换为稍微不同的形式。例如,将字符串转换为大写和小写。通常,它们的行为类似于 Java 语言中的相同函数。

所以我只给出一个表格和几个例子。

# 要求 结果
1个 选择长度('文本') 4个
2个 选择长度('你好') 12
3个 选择较低的('你好') 你好
4个 选择上层('你好') 你好
5个 选择SUBSTR ('你好', 2, 3) 里夫
6个 SELECT SUBSTR('嗨,你好吗?',8) 你好吗?

这些函数按预期工作,就像它们在 JDK 中的对应函数一样。

唯一需要注意的是:在第一行中,结果是 4,而不是 8。问题是请求中使用了 1 个字节(ASCII 编码)来对拉丁字符进行编码。但如果您使用数据库中的数据,则字符串的长度将取决于数据库编码设置。使用数据库时你会发现很多惊喜:)

字符串的复杂操作

好吧,让我们看看使用字符串时更复杂的事情。你会想出什么...

让我们从任务表中显示任务,如果任务截止日期已经过去,则在任务描述中添加 EXPIRED 一词!

听起来不错。虽然我们还没有了解复杂的条件,但让我们稍微简化一下任务。让我们编写一个显示过去任务列表的查询,但一定要在标题中添加单词“EXPIRED!” 。.

为此,我们必须使用 CONCAT 函数:

   SELECT CONCAT( 'EXPIRED! ', name) FROM task 
   WHERE deadline < CURDATE() 

此查询的结果将是:

连接('过期!',名称)
已到期!修复一个前端bug

推荐。如果您只需要将数据转换为稍微不同的形式,那么这也可以在 Java 代码级别完成。但是如果你想使用 SQL 服务器端的字符串函数(在 WHERE 内部),那么你肯定离不开它们。

评论 (1)
  • 受欢迎
你必须先登录才能发表评论
H
级别 8 ,Guangzhou,China
28 三月, 09:35
表格内的方法函数名也变成了中文,这里不应该翻译