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

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

pgsql-es-ayuda by date

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

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