From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Yoel Mc Lennan <listas(at)yoel(dot)com(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Concatenar cadena texto con booleano |
Date: | 2008-07-24 14:09:43 |
Message-ID: | 20080724140943.GA9094@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Yoel Mc Lennan escribió:
Hola,
> Buenas, alguna idea de como concatenar un string con un boolean ?
>
> eJ :
> nombre varchar;
> propio bool;
> dato vacrhar;
>
> propio=false;
>
>
> dato := nombe || propio (aparentemente no se puede)
En 8.3 funciona bien:
alvherre=# select 'hola'::text || 't'::bool;
?column?
----------
holatrue
(1 ligne)
Pero en 8.2 falla:
alvherre=# select 'hola'::text || 't'::bool;
ERROR: operator does not exist: text || boolean
LINE 1: select 'hola'::text || 't'::bool;
^
HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts.
El experimento obvio seria aplicar un cast a texto, pero no funciona:
alvherre=# select 'hola'::text || 't'::bool::text;
ERROR: cannot cast type boolean to text
LINE 1: select 'hola'::text || 't'::bool::text;
^
Lo que puedes hacer es convertir el booleano a cstring usando la funcion
boolout(), y luego el cstring a texto usando la funcion textin(), de la
siguiente forma:
alvherre=# select 'hola'::text || textin(boolout('t'::bool));
?column?
----------
holat
(1 row)
Observa que la representacion en texto del booleano es distinta en 8.2
(una sola letra, t o f) que en 8.3 ("true" o "false"). Si quieres hacer
algo mas complicado necesitaras un CASE.
--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Cómo ponemos nuestros dedos en la arcilla del otro. Eso es la amistad; jugar
al alfarero y ver qué formas se pueden sacar del otro" (C. Halloway en
La Feria de las Tinieblas, R. Bradbury)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-07-24 14:11:43 | Re: Linea de Comandos |
Previous Message | Miguel Rodríguez Penabad | 2008-07-24 14:04:14 | Re: [OT] como lograr campo consecutivo sin fallar ? |