小编Bre*_*ire的帖子

最长匹配子串

如何在 varchar 变量中搜索最长的匹配项?例如,表 GOB 的条目如下:

magic_word |  prize
===================
         sh|  $0.20
        sha|  $0.40
       shaz|  $0.60
      shaza|  $1.50
Run Code Online (Sandbox Code Playgroud)

我想编写一个 plpgsql 函数,它在其他参数中接受一个字符串作为输入(例如shazam),并返回具有最长匹配子字符串的 GOB 行上的“奖品”列。在所示的示例中,它将位于$1.50magic_word 行上shaza

我能处理的所有函数格式,只是匹配位而已。我想不出一个优雅的解决方案。我猜这可能真的很容易,但我正在挠头。我不知道开头的输入字符串,因为它将从另一个表上的查询结果中派生出来。

有任何想法吗?

postgresql plpgsql

3
推荐指数
1
解决办法
2247
查看次数

标签 统计

plpgsql ×1

postgresql ×1