我正在编写plpgsql函数,并从JSON接收参数。我的JSON字段之一如下:[“ 2019-01-01”,“ 2018-03-06”]
我需要使用这些日期来构建查询和WHERE过滤器。
查询如下:
SQLquery = 'SELECT * from t1 WHERE day > '''||array_field_1||''' AND day < '''||array_field_2'''
问题在于Postgres数组中的花括号应该是大括号,而字符串应该是单引号。
我实际上能够做到,但是代码丑陋而令人尴尬。但是以某种方式我找不到与内置Postgres函数一起使用的东西...
令人尴尬的代码是:
my_array: = '["2019-01-01", "2018-03-06"]'
temp := TRIM(TRIM(TRIM(my_array, '"'),'['),']');
temp := replace(split_part(temp, ',', 1),'"','''');
temp := replace(split_part(temp, ',', 2),'"','''');