当前位置:  开发笔记 > 数据库 > 正文

在PostgreSQL中使用带有变量的正则表达式的正确语法

如何解决《在PostgreSQL中使用带有变量的正则表达式的正确语法》经验,为你挑选了1个好方法。

PostgreSQL 9.5.4

我有以下功能,我试图使用正则表达式中的参数.就像是

CREATE OR REPLACE FUNCTION test(lastname text, firstname text, birthdate date)
  RETURNS SETOF view_patient AS
$BODY$ 

   select * from testing t
   where t.lastname ~*  '^' || $1 || ''
   order by t.lastname

$BODY$
  LANGUAGE sql VOLATILE;

返回的错误是:

错误:WHERE的参数必须是boolean类型,而不是类型文本LINE 55:其中t.lastname~*'^'|| 1美元|| ""

这是怎么做到的?

TIA



1> a_horse_with..:

您需要在括号之间放置连接(并且您可以在末尾删除空字符串:

where t.lastname ~*  ('^' || $1) 

或者:

where t.lastname ~*  concat('^', $1)

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有