如何在用户定义的函数中将数据库列作为参数传递?
Posted
技术标签:
【中文标题】如何在用户定义的函数中将数据库列作为参数传递?【英文标题】:how to pass a database column as a parameter in a user defined function? 【发布时间】:2019-07-04 08:49:47 【问题描述】:我在 sql 中有一个用于字符串比较的代码,它接受两个参数作为输入,并返回一个结果。这两个参数都是单词,我想将参数从单个单词更改为数据库列。我怎么做?
例如在 java 中,它就像将数据存储在一个数组中,而不是传递整个数组。这样的事情可以在sql中完成吗?
【问题讨论】:
感谢您的回复! mysql 通过 wamp 服务器 表示您想将完整的列数据作为一个字符串传递,例如列数据有“一”“二”“三”它传递为“一,二,三”不清楚?? 如果可能显示用户定义的函数,然后给出例子 嘿,mangesh,有一列有城市名称,我想将我搜索的单词与每个名称进行比较,这意味着从 0 开始到结束.... 函数调用看起来像这样 compare_city_name("baroda", "agra"),这里我搜索的词是“baroda”,但不是传递“agra”,而是传递该城市名称的值一列接一列。 【参考方案1】:您可以使用Select
查询将表中特定列的每个值传递到您的函数中。
像这样,
SELECT compare_city_name('baroda',t.cityname) from tablename as t
在此查询中,您将 cityname
列中的所有城市名称一一传递给函数 compare_city_name
。
【讨论】:
【参考方案2】:将其作为VARCHAR
传递,然后使用“准备”和“执行”构建查询。
【讨论】:
以上是关于如何在用户定义的函数中将数据库列作为参数传递?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Dart 中将 Navigator 函数作为参数传递?