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