调用单个函数两次

时间:2014-08-13 19:29:59

标签: mysql sql

我有一个mysql函数function1(n AS varchar),它返回一些逗号分隔的字符串,如str1, str2

我可以触发像

这样的选择语句
Select function1("ABC") from dual;

我想在comlumn1包含str1column2包含str2的表格中插入此函数的输出,我可以通过调用function1("ABC") 2来执行此操作时间并用逗号分割输出并将每个部分存储在特定列中。但有没有办法只通过调用function1一次就可以向表中插入值。

1 个答案:

答案 0 :(得分:2)

我认为你可以做到:

   UPDATE table_name t
     JOIN (
       SELECT function1("ABC") val
/*       FROM dual /* Not sure if you need this */
          ) f
      SET t.column1 = SUBSTRING_INDEX(f.val,', ', 1),
          t.column2 = SUBSTRING_INDEX(f.val,', ',-1)
/*  WHERE ... */

非常确定n#39; ll只会调用该函数一次。