我在Centos上使用Postgres 10 (PostgreSQL 10.17在x86_64-pc-linux-gnu上,由gcc (GCC) 4.8.5 20150623 (RedHat4.8.5-44),64位)编写。
当我执行下面的SQL语句时,我会收到错误“oid类型的无效输入语法:”
SELECT persistenceid, process_id, process_id AS case_id, completed_date_time,
created_date_time::timestamp AT TIME ZONE 'EST' AS created_date_time,
status, customer_id, request_type AS ticket_type, user_id, requestor_id,
requester, customer_id, jira_ticket, feedback_type, priority,
public_request, request_method, title,
convert_from(lo_get(description::oid),'UTF8') AS description
FROM supportrequest
WHERE (user_id=5 OR requestor_id=5)
AND customer_id='346361'
ORDER BY created_date_time DESC;
如果我在没有WHERE子句的情况下执行语句,它就能正常工作。
发布于 2022-01-03 17:29:44
更新
如果我执行
SELECT persistenceid, process_id, process_id AS case_id, completed_date_time,
created_date_time::timestamp AT TIME ZONE 'EST' AS created_date_time,
status, customer_id, request_type AS ticket_type, user_id, requestor_id,
requester, customer_id, jira_ticket, feedback_type, priority,
public_request, request_method, title,
CASE
WHEN TRUE = description ~ '^[0-9\.]+$' THEN convert_from(lo_get(description::oid),'UTF8')
WHEN FALSE = description ~ '^[0-9\.]+$' THEN description::varchar
ELSE null END
AS description
FROM supportrequest
WHERE (user_id=5 OR requestor_id=5)
AND (customer_id='346361')
ORDER BY created_date_time DESC;
它显示了一个回车,作为字段列中的第一个字符,以供描述。
https://stackoverflow.com/questions/70569165
复制相似问题