Navicat使用教程:在SQL中计算字符串出现次数

在今天的文章中,我们将学习如何使用几个本地SQL字符串函数来计算char,varchar或text字段中字符串出现的次数。

Navicat for MySQL是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。数据传输、数据同步和结构同步让你以低成本轻松快速地迁移数据。提供详细的指引,在各种数据库之间传输数据。比对和同步数据库的数据和结构。只需几秒钟就能设置和部署比对,并获得你要运行更改的详细脚本。

Navicat for MySQL最新试用版

尽管SQL不像Java,C ++和PHP这样的过程编程语言精通字符串处理,但是SQL确实提供了许多处理字符串数据的功能。这些可以用来修剪多余的空格或字符,确定字符串有多长,并将多个字段值连接在一起。字符串函数非常值得熟悉,因为它们可以帮助提高代码的效率和可读性。在今天的博客中,我们将学习如何使用几个本地SQL字符串函数来计算char,varchar或text字段中字符串出现的次数。

引入LENGTH()和REPLACE()函数

今天我们将在这里使用的两个函数是LENGTH(str)和REPLACE(str,from_str,to_str)。LENGTH()返回字符串的长度(以字节为单位);REPLACE()通过执行区分大小写的匹配,返回字符串str,并将所有出现的字符串from_str替换为字符串to_str。

LENGTH()函数返回字符串的长度(以字节为单位)。这有一些重要的影响,因为这意味着对于包含五个2个字节字符的字符串,LENGTH()返回10。要计算直字符,请改用CHAR_LENGTH()。

这是一个例子:

Navicat使用教程:在SQL中计算字符串出现次数

这是REPLACE()函数的示例,该函数将URL的协议从“ http”更改为“ https”:

Navicat使用教程:在SQL中计算字符串出现次数

让我们开始计数

通过将LENGTH()和REPLACE()与ROUND()函数结合使用,我们可以获得包含文本内容的字段中特定子字符串的计数。这是一个使用Sakila Sample数据库的示例,该数据库在电影表的描述字段中返回单词“ Documentary”的计数:

Navicat使用教程:在SQL中计算字符串出现次数

本质上,我们的查询将目标子字符串的出现替换为空(“”)字符串,并比较结果字符串的长度。它们之间的区别是源字段中子字符串出现的次数。

将查询整合到用户功能中

如果计划在许多不同的表上执行字计数或使用各种子字符串值,则应考虑将主要计算合并到自定义用户功能中。这是我在Navicat中创建的名为`count_string_instances`的函数:

Navicat使用教程:在SQL中计算字符串出现次数

测试功能

我们可以通过单击“ 执行”按钮就地测试我们的功能。这将打开一个对话框以接受输入参数:

Navicat使用教程:在SQL中计算字符串出现次数

结果确认该功能正常运行:

Navicat使用教程:在SQL中计算字符串出现次数

从查询中调用我们的功能

使用我们的函数后,我们可以用对count_string_instances()函数的调用来替换查询的计算部分。当我们开始输入函数名称时,Navicat自动建议列表现在包括我们的函数!

Navicat使用教程:在SQL中计算字符串出现次数

与所有函数一样,它会插入带有设置好的输入参数的查询中。我们可以通过TAB键在它们之间导航:

Navicat使用教程:在SQL中计算字符串出现次数

这是带有结果的更新查询:

Navicat使用教程:在SQL中计算字符串出现次数

结论

有许多SQL字符串函数可以帮助使您的代码更加有效和可读。结合使用时,这些功能尤其强大。在今天的文章中,我们学习如何通过使用Navicat的多功能函数和存储过程编辑器创建自定义用户函数来计算char,varchar或text字段中字符串出现的次数。

有想要购买正版授权的朋友,欢迎咨询客服了解详情>>

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月6日
下一篇 2020年5月6日

相关推荐

发表回复

登录后才能评论