您将如何在 varchar 变量中搜索最长的匹配项?例如,表 GOB 具有以下条目:
magic_word | prize
===================
sh| $0.20
sha| $0.40
shaz| $0.60
shaza| $1.50
我想编写一个 plpgsql 函数,它在其他参数中接受一个字符串作为输入(例如shazam
),并返回 GOB 行上具有最长匹配子字符串的“奖品”列。在显示的示例中,这将$1.50
在具有 magic_word 的行上shaza
。
我可以处理的所有函数格式,它只是匹配位。我想不出一个优雅的解决方案。我猜这可能真的很容易,但我正在摸不着头脑。我不知道一开始的输入字符串,因为它将来自另一个表的查询结果。
有任何想法吗?