From: | Alex Perel <veers(at)webhosting(dot)com> |
---|---|
To: | Mario Weilguni <mweilguni(at)sime(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Question about Oracle compatibility |
Date: | 2000-11-27 17:39:32 |
Message-ID: | Pine.BSF.4.10.10011271234340.10328-100000@rodent.webhosting.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, 27 Nov 2000, Mario Weilguni wrote:
> Sorry if I'm posting to the wrong list, but I don't know which list is
> appropriate for this question.
>
> I've a question concerning compatibilty Postgres <-> Oracle. In Oracle,
> empty strings and null are basicly the same, but it does not seem to
> be under Postgres, making migration a pain.
>
Actually, they aren't the same at all under Oracle or under Postgres.
A null represents a lack of data, whereas an empty string is represents
data of zero length and zero content. Null is a state and not a value.
What you are probably seeing is a difference in table layout that sets
a default value of '' for the particular column you're touching. You can
have postgres do the same by specifying DEFAULT '' when you create your
table (or you could ALTER it in..).
Null values are actually quite important because they tell you when you
don't have data. An empty tring means something is there, whereas a null
in the same place means complete absense of all data.
Hope this helps.
Thanks
Alex
> Example:
> ORACLE:
> select id
> from anytable
> where field='';
>
> POSTGRES:
> select id
> from anytable
> where field='' or field is null;
>
> Or another example: The oracle query
> update anytable set adatefiled=''
> fails in Postgres, I've to write
> update anytable set adatefield=null;
That seems really weird.
>
> This gets really bad when the actual data is coming from a webinterface, I've
> to handle 2 different queries for the case empty string and non-empty string.
>
> Is there a better way to achieve this?
>
> Thanks!
>
> Best regards,
> Mario Weilguni
>
>
--
Alex G. Perel -=- AP5081
veers(at)disturbed(dot)net -=- alex(dot)perel(at)inquent(dot)com
play -=- work
Disturbed Networks - Powered exclusively by FreeBSD
== The Power to Serve -=- http://www.freebsd.org/
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-11-27 17:44:46 | Re: Question about Oracle compatibility |
Previous Message | Marko Kreen | 2000-11-27 17:16:51 | Re: Re: [GENERAL] Warning: Don't delete those /tmp/.PGSQL.* files |