gpt4 book ai didi

sql - 使用数据类型是 postgresql SET 语句

转载 作者:行者123 更新时间:2023-11-29 12:23:25 25 4
gpt4 key购买 nike

我正在使用 pgadmin 和 postgrsql 9.6.8

我不赞成这样做,但这是目前为止我找到的唯一方法。我只是希望能够在 pgAdmin 4 的查询中使用可替换变量或参数

这是我找到的唯一方法。它适用于 branchToUse,但在我尝试传递日期时失败。

这里是查询:

    SET search1.branchToUse = 'EUR';
SET search1.dateToUse = '2019-6-20';
select si.unique_id_no,si.customer_no, stop_name,si.shipment_type,stop_address,stop_city,assigned_driver,actual_driver,
si.datetime_created as "stop DT created",si.datetime_updated as "stop DT updated",rh.route_code,rh.datetime_last_updated,rh.updated_datetime from distribution_stop_information si
join distribution_route_headers as rh on si.route_code = rh.route_code

where (si.company_no =11 ) and (rh.company_no = 11) and
si.created_by='DI*' and
(si.route_date = current_setting('search1.dateToUse') and rh.route_date = current_setting('search1.dateToUse') ) and
(si.branch_id = current_setting('search1.branchToUse') and rh.branch_id = current_setting('search1.branchToUse'))
order by stop_address;

我收到以下错误 - 我不确定如何执行请求的转换:

错误:运算符不存在:日期 = 文本第 9 行:(si.route_date = current_setting('search1.dateToUse') 和 rh... ^提示:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。

最佳答案

您应该将文本(包含日期)转换为 date

set search1.dateToUse = '2019-6-20';
select current_setting('search1.dateToUse')::date;

current_setting
-----------------
2019-06-20
(1 row)

关于sql - 使用数据类型是 postgresql SET 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56687129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com