postgresql - 为什么我收到“[42883] 错误:运算符不存在:未知 + 文本”响应?
问题描述
我有一个非常简单的函数,它接受_posttypeid
和_url
作为参数:
CREATE FUNCTION rewrite(_postid integer DEFAULT NULL::integer,
_url character varying DEFAULT NULL::character varying)
RETURNS TABLE
(
DestinationURL varchar,
)
LANGUAGE plpgsql
AS
$function$
BEGIN
RETURN QUERY
SELECT
NULL AS PostTypeID,
_url AS DestinationURL,
FROM reference.destinations dest1
WHERE length(TRIM(dest1.DestinationURL)) > 0
AND _url LIKE '%' + TRIM(dest1.DestinationURL)) + '%'
ORDER BY length(dest1.DestinationURL)) DESC
LIMIT 1;
END;
$function$
如果我运行,select * from public.rewrite(_url := 'wikipedia.org')
则会收到此错误:
[42883] 错误:运算符不存在:未知 + 文本
提示:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。
我显然是在传递文本作为_url
参数的值。我不明白错误的含义或如何修复它。
解决方案
推荐阅读
- android - Android Espresso:如何在 TextInputLayout 中嵌入的 editText 中键入文本
- git - Git rebase 不在合并基础上应用提交
- c - 在函数调用中获取 Malloc() 损坏的顶部大小
- python - 使用python将文本数据解析为JSON格式
- python - 最新版本的 Django 教程说明似乎错误
- bootstrap-4 - 使用 Bootstrap 4 构建带有导航栏和侧边栏的页面的基本问题
- wpf - 如何将数据绑定错误发送到 Visual Studio 的输出窗口?
- python - 通过 Streamlit 向 PostgreSQL 表中插入数据
- pycharm - 如何在 Ubuntu 20.04 中使用 Google Text to Speech (python)?
- javascript - 当只有 $eval 给出结果时如何获取所有 innerHTML($$ 返回未定义)