匹配字符串与列

时间:2017-02-16 23:08:09

标签: database sybase powerbuilder

我正在开发一个应用程序,它接受一个主题并将其与列中的现有主题相匹配,并返回主题的百分比相似性。我正在使用power builder和sybase。我有一个存储主题的字符串变量(主题)。我需要有关如何将变量与字段匹配的帮助" restopic" in" tblres"。查询返回" topic"之间的百分比相似度以及" restopic"中的所有项目并按最高百分比相似度排序结果。

主题=从用户输入提供的数据

tblres

ID RES_TOPIC

001大班教学的挑战

002特定道路上事故率高的原因

003计算机在教学中的影响

我希望用户输入提供的数据与RES_TOPIC匹配,以确定百分比相似度

2 个答案:

答案 0 :(得分:1)

不确定这是否是您要查找的内容,但如果您使用 CONTAINS 原因查询数据库,则结果中会包含 SCORE 列。

SCORE 表示匹配的接近程度,可用于对结果进行排名。

您希望在搜索条件中包含任何列的文本索引。

答案 1 :(得分:0)

目前还不清楚你要求的是什么。如何定义相似性百分比

我猜你正在寻找一种搜索字符串的方法。您可以使用Pos()函数。但是在功能中定义相似性是你的职责。完成后,只需循环数据窗口。

ll_rows = tblres.rowcount()
FOR ll_row = 1 to ll_rows
    ll_similarity = similarity(tblres.getItemString( ll_row, 'res_topic' ), topic )
    // do something with ll_similarity
NEXT

function similarity(string res_topic, string topic)
    //do something with pos() and mid()
    //this is the place where the magic happens
     return ll_percentage