Обсуждение: Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?

Поиск
Список
Период
Сортировка

Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?

От
Henrik Steffen
Дата:
Hello Mark,

Thanks for you quick response.

I understand the difference between CHAR and VARCHAR now.

But, what is the difference between VARCHAR and TEXT ?


Kind regards

Henrik Steffen
http://www.TopConcepts.de/


Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?

От
"Brett W. McCoy"
Дата:
On Thu, 13 May 1999, Henrik Steffen wrote:

> Thanks for you quick response.
> 
> I understand the difference between CHAR and VARCHAR now.
> 
> But, what is the difference between VARCHAR and TEXT ?

Text fields have no explicit upper limit.  They are kinda like memo
fields in Access, except you *can* index them in PostgreSQL.

Brett W. McCoy                                                  http://www.lan2wan.com/~bmccoy/
-----------------------------------------------------------------------
Never get into fights with ugly people because they have nothing to lose.



Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?

От
Tom Lane
Дата:
Henrik Steffen <webmaster@city-map.de> writes:
> But, what is the difference between VARCHAR and TEXT ?

Almost none.  VARCHAR won't let you go beyond the stated maximum length,
whereas TEXT has no specific upper limit.  Otherwise they are stored
in exactly the same way.  (At least in Postgres ... dunno about other
DBMSs.)

I'd be inclined to use TEXT unless the maximum length were really an
important part of the semantics of the data for my application.  If
you find yourself saying "Well, I *think* it'll never go beyond N
characters, but maybe I should add a little slop for safety" then
I'd say forget all about VARCHAR and use TEXT.  If you find yourself
saying "it *had better not* go beyond N characters, because that
app over there will crash if it does" then use VARCHAR to enforce the
limit.
        regards, tom lane


Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?

От
Bruce Momjian
Дата:
> Henrik Steffen <webmaster@city-map.de> writes:
> > But, what is the difference between VARCHAR and TEXT ?
> 
> Almost none.  VARCHAR won't let you go beyond the stated maximum length,
> whereas TEXT has no specific upper limit.  Otherwise they are stored
> in exactly the same way.  (At least in Postgres ... dunno about other
> DBMSs.)
> 
> I'd be inclined to use TEXT unless the maximum length were really an
> important part of the semantics of the data for my application.  If
> you find yourself saying "Well, I *think* it'll never go beyond N
> characters, but maybe I should add a little slop for safety" then
> I'd say forget all about VARCHAR and use TEXT.  If you find yourself
> saying "it *had better not* go beyond N characters, because that
> app over there will crash if it does" then use VARCHAR to enforce the
> limit.

Don't forget, char() has a performance benefit over varchar()/text. 
varchar() allows you to document/clip a field to a specific lenght. 
Some people like that for fixed-type fields, like "A" for active, "R"
for retired.  char(1) documents it is only on character too.  See the
FAQ for info on this.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?

От
Doo Suk Yang
Дата:
> > Almost none.  VARCHAR won't let you go beyond the stated maximum length,
> > whereas TEXT has no specific upper limit.  Otherwise they are stored                   ~~~~~~~~~~~~~~~~~~~~~~~~~
> > in exactly the same way.  (At least in Postgres ... dunno about other
> > DBMSs.)
> 

BTW there may be implicit limit. When I tried to insert sequence data an
error occured.
ERROR:  Tuple is too big: size 9520
Does that show the limit?

How can I deal with large object?

===============================================================================
Science is the game we play with God to find out what his rules are.
-------------------------------------------------------------------------------
Doo Suk Yang
Research Scientist                              Voice: 82-42-866-2222 
LG Chemical Ltd. Research Park
Biotech Research Institute I                    FAX:   82-42-861-2566
-------------------------------------------------------------------------------
A fool hath no delight in understanding, but that his heart may discover itself.
(Proverbs 18:2)
===============================================================================



Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?

От
Chris Bitmead
Дата:
Tuples have an 8k limit.

Doo Suk Yang wrote:
> 
> > > Almost none.  VARCHAR won't let you go beyond the stated maximum length,
> > > whereas TEXT has no specific upper limit.  Otherwise they are stored
>                     ~~~~~~~~~~~~~~~~~~~~~~~~~
> > > in exactly the same way.  (At least in Postgres ... dunno about other
> > > DBMSs.)
> >
> 
> BTW there may be implicit limit. When I tried to insert sequence data an
> error occured.
> ERROR:  Tuple is too big: size 9520
> Does that show the limit?
> 
> How can I deal with large object?
> 
> ===============================================================================
> Science is the game we play with God to find out what his rules are.
> -------------------------------------------------------------------------------
> Doo Suk Yang
> Research Scientist                              Voice: 82-42-866-2222
> LG Chemical Ltd. Research Park
> Biotech Research Institute I                    FAX:   82-42-861-2566
> -------------------------------------------------------------------------------
> A fool hath no delight in understanding, but that his heart may discover itself.
> (Proverbs 18:2)
> ===============================================================================