Re: ESPACIOS EN BLANCO EN UNA QUERY

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: "Lorena Gpe(dot) M(dot) Osorio" <peque35(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ESPACIOS EN BLANCO EN UNA QUERY
Date: 2009-06-30 14:22:57
Message-ID: 20090630142257.GA4661@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Lorena Gpe. M. Osorio escribió:
> Buen día a todos tengo una duda que talvez sea demasiado fácil pero ya ´me
> provocó dolor de cabeza, en mysql se resuelve con rtrim pero aquí en
> postgres no he podido encontrar como evitar que me inserte espacios en
> blanco.

Puedes agregar un CHECK a la columna que impida que insertes espacios al
final, por ej.

create table sin_espacio
( nombre TEXT CHECK (nombre !~ '[[:space:]]+$') );

alvherre=# insert into sin_espacio values ('joyeria');
INSERT 0 1
alvherre=# insert into sin_espacio values ('joyeria ');
ERROR: el nuevo registro para la relación «sin_espacio» viola la restricción check «sin_espacio_nombre_check»

Te permite insertar espacios en otras partes de la cadena:

alvherre=# insert into sin_espacio values ('joyas de fantasía');
INSERT 0 1
alvherre=# insert into sin_espacio values (' joyas');
INSERT 0 1

O bien, mas sencillo, puedes poner un check que impida espacios al
frente y atras:

alvherre=# create table sin_espacios (nombre text check (nombre = trim(nombre)));
CREATE TABLE
alvherre=# insert into sin_espacios values (' joyas');
ERROR: el nuevo registro para la relación «sin_espacios» viola la restricción check «sin_espacios_nombre_check»
alvherre=# insert into sin_espacios values ('joyas ');
ERROR: el nuevo registro para la relación «sin_espacios» viola la restricción check «sin_espacios_nombre_check»
alvherre=# insert into sin_espacios values ('joyas');
INSERT 0 1
alvherre=# insert into sin_espacios values ('otras joyas');
INSERT 0 1

(La principal diferencia es que este permite tabs y saltos de líneas, en
cambio la versión de arriba no los permite).

--
Alvaro Herrera http://www.amazon.com/gp/registry/3BP7BYG9PUGI8
"Limítate a mirar... y algun día veras"

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-06-30 14:24:26 Re: ESPACIOS EN BLANCO EN UNA QUERY
Previous Message Eduardo Morras 2009-06-30 14:17:55 Re: Función