彩票走势图

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

翻译|使用教程|编辑:吴园园|2020-06-09 09:58:12.047|阅读 555 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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()。

这是一个例子:

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

让我们开始计数

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

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

将查询整合到用户功能中

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

测试功能

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

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

从查询中调用我们的功能

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

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

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

结论

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

有想要购买正版授权的朋友,欢迎


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP