【问题标题】: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”,而是传递该城市名称的值一列接一列。

标签: mysql sql user-defined-functions


【解决方案1】:

您可以使用Select 查询将表中特定列的每个值传递到您的函数中。 像这样,

SELECT compare_city_name('baroda',t.cityname) from tablename as t

在此查询中,您将 cityname 列中的所有城市名称一一传递给函数 compare_city_name

【讨论】:

    【解决方案2】:

    将其作为VARCHAR 传递,然后使用“准备”和“执行”构建查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 2021-12-24
      • 2014-06-07
      • 1970-01-01
      • 2020-11-14
      相关资源
      最近更新 更多