Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group