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: "Ing(dot) Marcos Ortiz Valmaseda" <mlortiz(at)uci(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: longitud tipo dato serial
Date: 2010-03-22 14:01:42
Message-ID: 3efb88e61003220701w3b5275cch77b3816791faf82d@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Eso de poner los rellenar con ceros lo puedes hacer via tu lenguaje o via
SQL con PostgreSQL usando lpad(). Te recomiendo que tengas el campo entero o
serial y hagas el relleno de ceros con lpad(),
Leete esto:
http://www.postgresql.org/docs/8.4/static/functions-string.html


Suerte!


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


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

> 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>
>
>> 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
>>
>> --
>> -------------------------------------------------------- -- 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                                               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(dot)
> www.clinicapuertomontt.cl
>

In response to

pgsql-es-ayuda by date

Next:From: Manuel DiegoDate: 2010-03-22 14:09:44
Subject: UPDATE sólo fecha a un campo timestamp
Previous:From: Gustavo RossoDate: 2010-03-22 13:53:18
Subject: Re: longitud tipo dato serial

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