pl/pgSQL and escaping LIKE clauses
| От | Robby Slaughter | 
|---|---|
| Тема | pl/pgSQL and escaping LIKE clauses | 
| Дата | |
| Msg-id | EPEHLKLEHAHLONFOKNHNCELODBAA.webmaster@robbyslaughter.com обсуждение исходный текст | 
| Ответ на | select with multiple occurences in same table ("William Herring" <wherring@mail.ifas.ufl.edu>) | 
| Список | pgsql-sql | 
I'm having trouble getting LIKE clauses to work correctly inside a plpgSQL
function.
Here's my table:
 id |  val
----+-------------
  1 | hello
  2 | there
  3 | everyone
Here's my function:
CREATE FUNCTION intable(char)
RETURNS INTEGER
AS
'
DECLARE
  input ALIAS FOR $1;
  temp  INTEGER;
BEGIN
  SELECT INTO temp id FROM test WHERE val LIKE ''input%'';
  RAISE NOTICE ''Value of temp is %'',temp;
  RETURN temp;
END;
'
LANGUAGE 'plpgsql';
I should be able to SELECT('hello') and get back 1, correct?
No matter what I put in as a parameter, it always returns null.
If I change the LIKE clause to read "...LIKE ''hello%''" it does
in fact work. Or if I scrap the LIKE clause and have it
read something such as ".... id = input" (if input is an integer)
it also works fine.
Any thoughts?
Thanks,
Robby
		
	В списке pgsql-sql по дате отправления: