SQL 模式匹配

2023-12-28

我有一个与 SQL 相关的问题。

我想匹配两个字段的相似性并返回相似程度的百分比。

例如,如果我有一个名为 doc 的字段,其中包含以下内容

This is my first assignment in SQL 

在另一个领域我有类似的东西

My first assignment in SQL 

我想知道如何检查两者之间的相似性并返回多少百分比。

我做了一些研究并想要第二个意见,而且我从未要求过源代码。我研究过 Soundex()、Difference()、使用 Levenshtein 距离算法的模糊字符串匹配。


你没有说你用的是什么版本的Oracle。本示例基于11g版本。 您可以使用edit_distance的函数utl_match http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/u_match.htm#CBHBICDE包来确定需要更改多少个字符才能将一个字符串转换为另一个字符串。greatest http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions069.htm#i77473函数返回传入参数列表中的最大值。这是一个例子:

-- sample of data 
with t1(col1, col2) as(
  select 'This is my first assignment in SQL', 'My first assignment in SQL ' from dual
)
-- the query
select trunc(((greatest(length(col1), length(col2)) -  
              (utl_match.edit_distance(col2, col1))) * 100) / 
             greatest(length(col1), length(col2)), 2) as "%"
  from t1

result:

         %
----------
     70.58

Addendum

正如@jonearles 正确指出的那样,使用起来要简单得多edit_distance_similarity的函数utl_match包裹。

 with t1(col1, col2) as(
     select 'This is my first assignment in SQL', 'My first assignment in SQL ' from dual
  )
  select utl_match.edit_distance_similarity(col1, col2) as "%"
    from t1
   ;

Result:

         %
----------
        71
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 模式匹配 的相关文章

  • Extbase - 从查询中获取创建的sql

    我想从我的typo3 扩展中获取一些数据库表 该扩展基于 extbase 查询总是不返回任何内容 但数据存在 我试过这个 query this gt createQuery query gt statement SELECT FROM my
  • Oracle:动态设置表中所有 NOT NULL 列以允许 NULL

    我有一个包含 75 多个列的表 几乎所有列都有 NOT NULL 约束 如果执行巨大的更改表修改语句 其中的每一列 我会收到一条错误消息 内容大致为 您不能将此字段设置为 NULL 因为它已经是 NULL 我必须对几个表执行此操作 因此更希
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • 在 MS Access SQL 查询中从正常日期转换为 unix 纪元日期

    我正在尝试编写一个通过 ODBC 连接到 MySQL 数据库的 MS Access 2007 连接的查询 一切工作正常 查询执行我想要的操作 我挂断的部分是我一直在询问用户 unix 纪元时间 而不是常规日期 我查找了 MS Access
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name
  • 插入具有多个值的外键

    我想知道 是否有可能创建一个表 其中我有一个接受外键但同一行可能有多个值的表 例如 Employee id name skillid Skill Skillid skillname 这里 Employee 的一个例子可以是 Employee
  • 选择多列 按一列分组 按计数排序

    我在Oracle中有以下数据集 c1 c2 c3 1A2 cat black 1G2 dog red B11 frog green 1G2 girl red 试图得到以下结果 基本上我首先尝试获取具有重复 c1 的行 c1 c2 c3 1G
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • 如何使用 Oracle 移动文本文件

    我有两个问题 1 如何从文件夹中移动文本文件 C Data inbox test txt 目标文件夹 C Data outbox test txt 2 如何获取文件夹中的目录文件列表 C Data inbox 谢谢 Oracle 提供了一个
  • H2 SQL 日期比较

    在 H2 数据库中 如何在 TIMESTAMP 类型的列上运行查询 SELECT FROM RECORDS WHERE TRAN DATE lt 2012 07 24 Try 2012 07 24
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • 如何拥有引用另一个表的检查约束?

    我在 SQL Server 2008 数据库中有以下表 tblItem 其中有一个ItemID field 好项目 它还有一个 ItemID 字段 并且有一个指向 tblItem 的外键 tblBadItem 它也有一个 ItemID 字段
  • 时间序列数据的自连接

    我需要一些帮助来完成我认为应该是相当简单的自连接查询 只需要将两条记录中匹配的开始时间和结束时间合并为一条记录 假设我的表中有以下内容 Time Event 08 00 Start 09 00 Stop 10 30 Start 10 45
  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • oracle ExecuteNonQuery 在 ASP.Net 上冻结

    我正在尝试使用 ASP C 和 CLR 4 5 中的 Oracle 连接来运行非查询 这是我的代码 string connectionString ConfigurationManager ConnectionStrings OracleC

随机推荐

  • 与“LPCWSTR”类型的参数不兼容

    include stdafx h include
  • 在程序的某些部分显式禁用 MySQL 查询缓存

    在 Django 项目中 一些 cronjob 程序主要用于管理或分析目的 例如生成网站使用统计数据 轮换用户活动日志等 我们可能不希望MySQL在这些程序中缓存查询以节省内存使用并提高查询缓存效率 是否可以在这些程序中显式关闭 MySQL
  • 为什么我的 HTML 文本框在移动设备和桌面上的显示效果不一样?

    由于某种原因 我的 HTML 文本框没有居中 当我在桌面和移动设备上查看它们时 它们的显示方式有所不同 一个被拉伸 而另一个未居中 我可以让我的 HTML 代码在中显示相同吗 两种情况 div div h1 style text align
  • onload 和 Jquery read()。它们适用于任何 DOM 吗?比如table或者div?

    我需要使用 javascript 脚本将动态内容放在 div 上 该 div 位于页面顶部 因此它会先加载 然后再加载其下方的其他内容 而且下面真的有很多东西 因此 当我将脚本放在ready 或onload上时 div将空2 3秒 同时显示
  • 使用 jQuery 删除表格行

    以下是我的代码 Script document ready function click click function table append tr td nbsp td tr remove click function table re
  • 在同一个 Docker Hub 存储库中进行链式自动构建

    由于构建时间限制 https stackoverflow com a 34588866 865719在 Docker Hub 上 我决定拆分Dockerfile将耗时的自动构建分为三个文件 每一个 子构建 都会在 Docker Hub 的时
  • 为什么 sem_open 与 fork() 一起使用而不使用共享内存?

    即使信号量不在共享内存中 该程序也可以工作 我测试过 请注意我如何在 fork 之前创建一次变量 另一方面 用创建的信号量sem init 需要在共享内存中才能工作 但这仍然是一个sem t结构 那么为什么它不需要共享内存呢 的内容是sem
  • 如何删除字符串中除点和逗号之外的所有特殊字符

    我有一个包含许多特殊字符和文本的句子 我想删除除点和逗号之外的所有特殊字符 例如 这就是 u HI Jhon how are you 我正在尝试生成以下字符串 HI Jhon how are you 我试过这个 u HI Jhon how
  • Swagger/OpenAPI 多重安全要求和副作用?

    我正在为 Swagger OpenAPI 实现一个代码生成器 但是 我在实现安全要求时遇到了问题 这些要求被定义为对象列表 列表成员是替代 或 对象成员是与 例如 a b c d 这应该导致 a b 光盘 然而 在实现这一点时 我遇到了实际
  • .Net 中是否有与 java.util.concurrent.Executor 等效的程序?

    拥有一组长期运行的离散任务 从文本文件中解析数十 数千行 合并为对象 操作和持久化 如果我在 Java 中实现这一点 我想我可能会为文件中的每一行或每 X 行 即块 的任务添加一个新任务到执行器 对于我正在使用的 Net 我不太确定 我怀疑
  • Xcode iOS 框架图标含义

    当使用 Xcode 7 3 将 iOS 框架添加到 iOS 项目时 常规 gt 链接的框架和库 Xcode 使用两个不同的图标来表示 iOS 框架 一个看起来像一个白色立方体 另一个看起来像一个工具箱 这些图标分别代表什么意思 工具箱图标代
  • 信号 fft 的幅度错误

    我正在尝试计算使用 Python 进行快速傅立叶变换 我正在使用函数 fft fft 并将其应用于简单的正弦信号 这是我的代码 import numpy as np import matplotlib pyplot as plt frame
  • 在分块矩阵中查找一个值

    我写了一个稀疏矩阵类 基于Block压缩存储 我写了几乎所有的方法 但我不知道如何写方法findValue i j 给出原始矩阵的 2 个索引 存储由四个向量组成 ba 按从上到下左右顺序存储矩阵的非零块 几乎有一个元素不为零的矩形块 an
  • 如何让 mod_rewrite 只匹配一次规则

    我有以下网址 http localhost http mygarble com foundationsofwebprogramming 86 http localhost http mygarble com foundationsofweb
  • Excel公式最小值的位置

    编辑 可能是一个简单的问题 基本上我有三个值 比如说不同单元格中的 9 4 和 7 不在表中 我想找到订单中的最小值 然后返回其相对位置 例如 9 4 7 将返回 2 因为 4 是最小值并且位于第二位 正确的Excel公式是什么 谢谢 解决
  • 使用Scala对象作为key的reduceByKey

    我正在将 Spark 与 scala 一起使用 并且我有一个充满 tuple2 的 RDD 其中包含一个复杂对象作为键和一个 double 目的是如果对象相同 则加倍 频率 为此 我将我的对象定义如下 case class SimpleCo
  • R 中的分组依据和条件

    我有一个具有相似名称 课程 课程和完成情况的数据框 name lt c John John John Sam Sam course lt c Driving Driving Driving Cycling Cycling lesson lt
  • 指定的子项已经有父项。您必须首先对孩子的父母调用removeView()

    我正在做一个关于输入你的名字的应用程序的小练习 它返回 你好 你输入的名字 但是在我按下按钮后 我收到错误 指定的子项已经有父项 您必须首先在子项的父项上调用removeView MainActivity java package com
  • Spring Boot 中未调用 ClientHttpRequestInterceptor

    我正在尝试使用 ClientHttpRequestInterceptor 将日志记录添加到我的应用程序 我的拦截器没有被调用 不知道这里出了什么问题 这是我的代码 Component Slf4j public final class Res
  • SQL 模式匹配

    我有一个与 SQL 相关的问题 我想匹配两个字段的相似性并返回相似程度的百分比 例如 如果我有一个名为 doc 的字段 其中包含以下内容 This is my first assignment in SQL 在另一个领域我有类似的东西 My