From: Néstor Seguí Martínez <nessemar(at)hotmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject:
Date: 2011-05-23 12:28:13
Message-ID: BLU129-W24E52F4F281B54D555FA68DF720@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Buenas, quería comentaros un problema con el que me estoy encontrando y que (pese a que probablemente sea una tontería) me está llevando de craneo:
Tengo una función con la que pretendo comprobar que el primer carácter de un campo textual sea 'F'. La función tiene este código:
BEGIN EXECUTE 'select substring(s1.'|| $2||'::text from '|| $4||' for '|| $5||') from '|| $1||' as s1 where s1.gid='|| $3||' and substring(s1.'|| $2||'::text from '|| $4||' for '|| $5||')='''|| $6||'''::text;'; IF FOUND THEN RETURN true; ELSE RETURN false; END IF;END;
Y la llamada la realizo tal que así: select devuelve_booleano('x2bis','txt', '5', '1','1','F')
La explicación de los parámetros:
/*Comprueba en el registro $3 del campo textual $2 de la tabla $1*//*si los $5 siguientes carácteres a la posición $4*//*coincide con el valor $6*/
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Para el caso particular de esta query: select substring(s1.txt::text from 1 for 1) from x2bis as s1 where s1.gid=5 el resultado es 'F'
Pero la función me está devolviendo 'false' en todo momento independientemente del carácter que tenga que buscar en el parámetro 6º
¿Alguien sabe que puedo estar haciendo mal?
Gracias por la ayuda.

Responses

  • Re: at 2011-05-23 14:44:02 from Álvaro Hernández Tortosa

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Álvaro Hernández Tortosa 2011-05-23 14:44:02 Re:
Previous Message Jaime Casanova 2011-05-23 05:38:45 Re: ayuda psqlodbc no me deja modificar datos