我如何将列表,数组或字符串作为参数传递给redshift

理查德·赖特

我正在尝试使用in子句编写一个简单的查询,如下所示:

SELECT * 
FROM storeupcsalesbyday
WHERE date >= '9/1/2020' AND date <= '9/10/2020' AND upc in ('0000000004011', '0000000094011')

我需要能够将in子句中的值作为参数传递,in子句中的值数是可变的,取决于用户输入,它可以是一个或数千个。在其他sql数据库中,我通过创建一个用户定义的函数来解决此问题,该函数接受一个字符串,在定界符上将其拆分,并将值插入到临时表中,然后从临时表中选择所有要在我的in子句中使用的函数。但是,redshift中的用户定义函数不允许将表作为返回类型。其他人如何在红移中解决这个问题。

谢谢

理查德·赖特

我能够创建一个存储过程,该存储过程采用varchar并创建由定界符(在本例中为',')分解的varchar的所有“切片”的临时表。我只是想在这里分享它,以防其他人遇到此问题。

步骤如下:

CREATE OR REPLACE Procedure sp_UPCStringToTempTable(upcList IN varchar(max))
AS 'DECLARE
  idx int;
  slice varchar(8000);
  upcListVar varchar(max);
BEGIN
  idx = 1;
  upcListVar = upcList;
  DROP TABLE if exists tmp_upc;
  CREATE TEMP TABLE tmp_upc(upc varchar(14));
  WHILE idx != 0 LOOP
    idx = charindex('','', upcListVar);
    IF idx != 0 THEN
      slice = left(upcListVar, idx - 1);
    END IF;
    IF idx = 0 THEN
      slice = upcListVar;
    END IF;
    IF len(slice) > 0 THEN
      INSERT INTO tmp_upc values (slice);
    END IF;
    upcListVar = right(upcListVar, len(upcListVar) - idx);
  END LOOP;
END;
' LANGUAGE plpgsql;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

BASH:如何将数组中的字符串作为参数传递给命令?

来自分类Dev

在VBA中,如何将字符串拆分为数组,然后将其作为参数传递给Sub或Function

来自分类Dev

将数组的元素作为参数列表传递给函数(而不是组合字符串)

来自分类Dev

如何将字符串列表作为参数传递给批处理脚本?

来自分类Dev

如何将字符数组传递给字符串

来自分类Dev

如何将JSON字符串作为查询参数传递给API Gateway

来自分类Dev

如何将字符串作为参数传递给javascript函数

来自分类Dev

如何将字符串作为参数传递给`do.call`命令?

来自分类Dev

如何将字符串作为参数传递给JavaScript函数?

来自分类Dev

如何将字符串变量作为全局参数传递给命令

来自分类Dev

如何将参数作为字符串传递给应该执行特定功能的外部

来自分类Dev

如何将字符串作为参数传递给需要R中的变量的函数

来自分类Dev

如何将连接的字符串作为参数传递给函数:Angular 2

来自分类Dev

如何将 JSON 字符串作为请求参数传递给其他服务

来自分类Dev

如何将字符串变量作为参数传递给awk

来自分类Dev

如何将字符串作为关键字参数传递给方法

来自分类Dev

如何将bash变量作为字符串而不是数组传递给scala文件

来自分类Dev

如何将字符串参数传递给jQuery

来自分类Dev

如何将二维数组类型字符(字符串)作为函数参数传递?

来自分类Dev

如何将字符串数组传递给函数?

来自分类Dev

如何将Swift字符串数组传递给带有char **参数的C函数

来自分类Dev

如何将SQL参数中的字符串数组传递给SQL中的IN子句

来自分类Dev

如何将constexpr字符串数组作为参数传递?

来自分类Dev

如何将MVC DropDownList的字符串值作为参数传递给控制器中的方法?

来自分类Dev

如何将参数传递给我的 url 以获取采用字符串参数的 POST 函数?

来自分类Dev

当我们使用winapis将字符串作为参数传递时,如何将c#字符串转换为c ++字符串

来自分类Dev

如何将cookie值字符串数组传递给控制器以作为PayPal Items循环

来自分类Dev

如何将字符串数组和字符串作为变量传递?

来自分类Dev

将字符串作为参数传递给gulp任务

Related 相关文章

  1. 1

    BASH:如何将数组中的字符串作为参数传递给命令?

  2. 2

    在VBA中,如何将字符串拆分为数组,然后将其作为参数传递给Sub或Function

  3. 3

    将数组的元素作为参数列表传递给函数(而不是组合字符串)

  4. 4

    如何将字符串列表作为参数传递给批处理脚本?

  5. 5

    如何将字符数组传递给字符串

  6. 6

    如何将JSON字符串作为查询参数传递给API Gateway

  7. 7

    如何将字符串作为参数传递给javascript函数

  8. 8

    如何将字符串作为参数传递给`do.call`命令?

  9. 9

    如何将字符串作为参数传递给JavaScript函数?

  10. 10

    如何将字符串变量作为全局参数传递给命令

  11. 11

    如何将参数作为字符串传递给应该执行特定功能的外部

  12. 12

    如何将字符串作为参数传递给需要R中的变量的函数

  13. 13

    如何将连接的字符串作为参数传递给函数:Angular 2

  14. 14

    如何将 JSON 字符串作为请求参数传递给其他服务

  15. 15

    如何将字符串变量作为参数传递给awk

  16. 16

    如何将字符串作为关键字参数传递给方法

  17. 17

    如何将bash变量作为字符串而不是数组传递给scala文件

  18. 18

    如何将字符串参数传递给jQuery

  19. 19

    如何将二维数组类型字符(字符串)作为函数参数传递?

  20. 20

    如何将字符串数组传递给函数?

  21. 21

    如何将Swift字符串数组传递给带有char **参数的C函数

  22. 22

    如何将SQL参数中的字符串数组传递给SQL中的IN子句

  23. 23

    如何将constexpr字符串数组作为参数传递?

  24. 24

    如何将MVC DropDownList的字符串值作为参数传递给控制器中的方法?

  25. 25

    如何将参数传递给我的 url 以获取采用字符串参数的 POST 函数?

  26. 26

    当我们使用winapis将字符串作为参数传递时,如何将c#字符串转换为c ++字符串

  27. 27

    如何将cookie值字符串数组传递给控制器以作为PayPal Items循环

  28. 28

    如何将字符串数组和字符串作为变量传递?

  29. 29

    将字符串作为参数传递给gulp任务

热门标签

归档