Thread: regex_replace problem
Hi folks. I've got a problem with regex_replace. As you can see below psql displays the error saying the function does not exist. Can anyone see why, and what I need todo to fix it. Cheers goole=# select distinct ud_rfl from used_diary where ud_rfl ~ ' *= *'; ud_rfl -----------12 = 1wk12=1WK12m = 1wk6=1WK (4 rows) goole=# select distinct regex_replace(ud_rfl,' *= *','+') from used_diary where ud_rfl ~ ' *= *'; ERROR: function regex_replace(character varying, "unknown", "unknown") does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. goole=# select distinct replace(ud_rfl,'=','+') from used_diary where ud_rfl ~ ' *= *'; replace -----------12 + 1wk12+1WK12m + 1wk6+1WK (4 rows) [root@stan ~]# rpm -qa|grep postgresql postgresql-jdbc-8.1.9-1.fc5 postgresql-libs-8.1.9-1.fc5 postgresql-pl-8.1.9-1.fc5 postgresql-contrib-8.1.9-1.fc5 postgresql-server-8.1.9-1.fc5 postgresql-docs-8.1.9-1.fc5 postgresql-python-8.1.9-1.fc5 postgresql-8.1.9-1.fc5 postgresql-test-8.1.9-1.fc5 postgresql-tcl-8.1.9-1.fc5 [root@stan ~]# -- Gary Stainburn This email does not contain private or confidential material as it may be snooped on by interested government parties for unknown and undisclosed purposes - Regulation of Investigatory Powers Act, 2000
Sorry, should have added that I tried type-casting to see if that fixed it. It didn't. Gary goole=# select distinct regex_replace(ud_rfl::text,' *= *'::text,'+'::text) from used_diary where ud_rfl ~ ' *= *'; ERROR: function regex_replace(text, text, text) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. goole=# -- Gary Stainburn This email does not contain private or confidential material as it may be snooped on by interested government parties for unknown and undisclosed purposes - Regulation of Investigatory Powers Act, 2000
On Jan 25, 2008 10:19 AM, Gary Stainburn <gary.stainburn@ringways.co.uk> wrote: > Sorry, > > should have added that I tried type-casting to see if that fixed it. It > didn't. > > Gary > > goole=# select distinct regex_replace(ud_rfl::text,' *= *'::text,'+'::text) \df regexp* List of functions Schema | Name | Result data type | Argument data types ------------+----------------+------------------+------------------------pg_catalog | regexp_replace | text |text, text, textpg_catalog | regexp_replace | text | text, text, text, text I think you lost a p in there.
Gary Stainburn wrote: > Hi folks. > > I've got a problem with regex_replace. The function is regexp_replace - you misspelled it.