Re: longitud tipo dato serial

From: "Hector R(dot) De los Santos " <zahory(at)gmail(dot)com>
To: Victor Avendaño <avenda(at)gmail(dot)com>
Cc: Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: longitud tipo dato serial
Date: 2010-03-22 18:14:06
Message-ID: 3efb88e61003221114pef160e8x1e8f16191b6f49e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Te leiste la documentación?

En tu caso seria:
Para mostrar
Select lpad(5::varchar,3,'0');

Suerte!

:: HDS Consultores TI
Servidores | Redes | Programacion | GNU/Linux | PostgreSQL
Web: http://hdsconsultores.net
Blog: http://codigohds.com
Linux User #:320363

2010/3/22 Victor Avendaño <avenda(at)gmail(dot)com>

> Entonces seria algo así?
>
> lpad(serial, 4, 00)
>
> El 22 de marzo de 2010 11:09, Hector R. De los Santos <zahory(at)gmail(dot)com>escribió:
>
>> Seguimos hablando de lo mismo??
>> No entendi que quisiste decir con esta opinion, no he recomendado un
>> leguaje diferente al sql, agregar esa funcion a un insert no tiene
>> nada de complejo. Aunque la verdad no recomiendo esto, lo mas sano
>> seria dejar tus datos numericos y hacer el lpad cuando vayas a mostrar
>> la informacion.
>>
>> El 22/03/10, Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar> escribió:
>> > Buen dia.
>> > Depende como esta escrito el insert, me parece que no todos los
>> > lenguajes compilan lpad(), por eso me parece que, salvo excepciones, las
>> > funciones de Postgres las dejaria que la realize el.
>> > Es una opinion.
>> > Saludos
>> >
>> > Hector R. De los Santos escribió:
>> >> Un trigger?
>> >> Me parece que es algo demaciado simple para tener que integrarlo en un
>> >> trigger, si deseas tener ese campo tipo Varchar y rellenarlo con
>> >> ceros, solo basta hacer el lpad() en el INSERT.
>> >>
>> >> Suerte!
>> >>
>> >> :: HDS Consultores TI
>> >> Servidores | Redes | Programacion | GNU/Linux | PostgreSQL
>> >> Web: http://hdsconsultores.net
>> >> Blog: http://codigohds.com
>> >> Linux User #:320363
>> >>
>> >>
>> >> 2010/3/22 Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar
>> >> <mailto:grosso(at)sadaic(dot)org(dot)ar>>
>> >>
>> >>
>> >>
>> >> Victor Avendaño escribió:
>> >>
>> >> Parece que me expresé mal, no necesariamente necesito un tipo
>> >> de datos, pero sería genial que así se pudiera generar, lo que
>> >> deseo es poder tener algo como un character varing de longitud
>> >> 3 que sea autoincrementable, osea que se baya generando de la
>> >> siguiente manera 001, 002, 003..... 012,013,014, ... etc
>> >> debido a que necesito grabar esos 3 caracteres y como serial
>> >> no me conserva los ceros, quizas otra solucion seria poder
>> >> guardar el serial pero con los ceros delante cosa que yo al
>> >> traerlos o exportarlos siempre pueda manipular esos 3
>> >> caracteres... me explico???
>> >>
>> >> 2010/3/22 Ing. Marcos Ortiz Valmaseda <mlortiz(at)uci(dot)cu
>> >> <mailto:mlortiz(at)uci(dot)cu> <mailto:mlortiz(at)uci(dot)cu
>> >> <mailto:mlortiz(at)uci(dot)cu>>>
>> >>
>> >>
>> >> Victor Avendaño escribió:
>> >>
>> >> Buenas Lista, mi duda es:
>> >>
>> >> Hay alguna forma de crear tipo de datos serial 3 digitos
>> o
>> >> mas. Me explico un campo 'codx' de tipo serial y que
>> >> autoincremente algo así 001, 002, 003. Según tengo
>> >> entendido
>> >> postgres incrementa 1, 2, 3, 4, 5, 6. Se puede dar la
>> >> logitud
>> >> o la catidad de digitos.
>> >>
>> >> Espero se haya entendido.
>> >>
>> >> Gracias
>> >>
>> >> SERIAL es un tipo de datos con un comportamiento definido;
>> >> por lo
>> >> que tendrías que hacer un nuevo tipo de datos, no usar éste.
>> >> Pudieras implementar uno que se comportara como quieres,
>> >> con una
>> >> función aparte que asigne esos valores que quieres.
>> >> Te dejo un ejemplo de cómo crear un tipo de datos en
>> >> PostgreSQL:
>> >> Tomado de la documentación:
>> >>
>> >> CREATE TYPE inventory_item AS (
>> >> name text,
>> >> supplier_id integer,
>> >> price numeric
>> >> );
>> >>
>> >> Cómo usarlo:
>> >>
>> >> CREATE TABLE on_hand (
>> >> item inventory_item,
>> >> count integer
>> >> );
>> >>
>> >> INSERT INTO on_hand VALUES (ROW('fuzzy dice', 42, 1.99),
>> 1000);
>> >>
>> >> Saludos
>> >>
>> >> Un trigger que llame a una funcion antes del insert?
>> >> Saludos!
>> >> Gustavo
>> >>
>> >>
>> >> --
>> >> -------------------------------------------------------- --
>> Ing.
>> >> Marcos Luís Ortíz Valmaseda --
>> >> -- Twitter: http://twitter.com/@marcosluis2186 --
>> >> -- FreeBSD Fan/User --
>> >> -- http://www.freebsd.org/es --
>> >> -- Linux User # 418229 --
>> >> -- Database Architect/Administrator --
>> >> -- PostgreSQL RDBMS --
>> >> -- http://www.postgresql.org --
>> >> -- http://planetpostgresql.org --
>> >> -- http://www.postgresql-es.org --
>> >> --------------------------------------------------------
>> >> -- Data WareHouse -- Business Intelligence Apprentice --
>> >> -- http://www.tdwi.org --
>> >> -------------------------------------------------------- --
>> >> Ruby
>> >> on Rails Fan/Developer --
>> >> -- http://rubyonrails.org --
>> >> --------------------------------------------------------
>> >>
>> >> Comunidad Técnica Cubana de PostgreSQL
>> >> http://postgresql.uci.cu
>> >> http://personas.grm.uci.cu/+marcos Centro de
>> >> Tecnologías de Gestión de Datos (DATEC) Contacto:
>> >>
>> >> Correo: centalad(at)uci(dot)cu <mailto:centalad(at)uci(dot)cu>
>> >> <mailto:centalad(at)uci(dot)cu <mailto:centalad(at)uci(dot)cu>>
>> >> Telf: +53 07-837-3737
>> >> +53
>> >> 07-837-3714
>> >> Universidad de las Ciencias
>> >>
>> >> Informáticas http://www.uci.cu
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Víctor Avendaño Fuentes.
>> >> Soporte Informático.
>> >> Fono: 65-484811
>> >> Móvil: 09-85263743
>> >> E-mail: vavenda(at)clinicapuertomontt(dot)cl
>> >> <mailto:vavenda(at)clinicapuertomontt(dot)cl>
>> >> <mailto:vavenda(at)clinicapuertomontt(dot)cl
>> >> <mailto:vavenda(at)clinicapuertomontt(dot)cl>>.
>> >> www.clinicapuertomontt.cl <http://www.clinicapuertomontt.cl>
>> >> <http://www.clinicapuertomontt.cl>
>> >>
>> >> --
>> >> TIP 4: No hagas 'kill -9' a postmaster
>> >>
>> >>
>> >
>>
>> --
>> Enviado desde mi dispositivo móvil
>>
>> :: HDS Consultores TI
>> Servidores | Redes | Programacion | GNU/Linux | PostgreSQL
>> Web: http://hdsconsultores.net
>> Blog: http://codigohds.com
>> Linux User #:320363
>> --
>> TIP 2: puedes desuscribirte de todas las listas simultáneamente
>> (envía "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
>>
>
>
>
> --
> Víctor Avendaño Fuentes.
> Soporte Informático.
> Fono: 65-484811
> Móvil: 09-85263743
> E-mail: vavenda(at)clinicapuertomontt(dot)cl(dot)
> www.clinicapuertomontt.cl
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Angel Hernandez Moreno 2010-03-22 19:31:53 Re: recuperar nodo en estado 3
Previous Message Victor Avendaño 2010-03-22 18:06:50 Re: longitud tipo dato serial