Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: [Q] Porting SQL to Oracle

Re: [Q] Porting SQL to Oracle

From: Tony <andrewst_at_onetel.net.uk>
Date: 13 Jun 2003 02:37:06 -0700
Message-ID: <c0e3f26e.0306130137.718ad08@posting.google.com>


vslabs_at_onwe.co.za (Billy Verreynne) wrote in message news:<1a75df45.0306121106.41923f2f_at_posting.google.com>...
> > > Define what value is in between the quotes for ''.
> >
> > It is the empty string. It is the character analogue of the number 0.
> > It is a string of 0 characters.
>
> Char(0) still takes up a single byte or character in a string. A
> string with '' does not contain a Char(0). The string is undefined as
> it does not contain anything.. i.e. the string does not exist. It has
> not been constructed.

And where did I say that '' contained a char(0), whatever the hell that is (I know, it's something C programmers use). If it contained a char(0) it would have a length of 1, and would not be '' it would be '#', where I have used # to represent char(0) visibly.

From your use of the word "constructed" it is clear that your mind is trapped in the world of C++ and cannot think LOGICALLY about this issue.

> For it to be a string, it must contain characters. For a number to be
> a number it must have a numeric value.

The number 0 denotes nothing: I have no money, so my bank balance is 0, it is not NULL (inapplicable, unknown). The character string '' denotes no characters, it is not NULL (inapplicable, unknown).

> Is infinity a number? By the same token, is a '' a string when it does
> not contain a _single_ damn character?

What same "frigging" token? I never mentioned infinite strings.

> WHAT IS THE STRING VALUE OF ''?
>
> If it does not have a value, how the hell can you say that is a
> string?

I have told you several times. Apparently your mind is too addled by watching Star Trek to understand ;)

> So don't claim that '' is in fact a string. '' is just another symbol
> or depiction for the state of NULL.

I do claim '' is a string, and does not represent a "state" of anything, unless 'abc' represents the "state" of being the string 'abc'...

>
> > (sigh) So for numbers, 123+NULL = 123 does it?
>
> No it does not. I specifically _exluded_ mathematical operations. Read
> my posting again.
>
> '123'||NULL is '123' as you concat/add (non-math wise) nothing to the
> string. I.e. suffix the string with nothing/null.

So NULL is a value according to you.

> No. NULL does not mean unkown value. It means that there are no value.
> NULL is a state like infinity. You are still thinking of NULL as
> having to have some kind of value, i.e. an "unknown value".

So NULL doesn't have a value according to you.

> > SQL says:
> > 123+NULL = 123+[some unknown value] = [some unknown value] = NULL
> > To be consistent then it should also say:
> > 'ABC'||NULL = 'ABC'||[some unknown value] = [some unknown value] =
> > NULL
>
> Nope. Again. A concat operation DOES NOT EQUAL a maths operation.

What has maths got to do with NULLs?

> > I believe this is what some other DBMSs do (SQL Server maybe, where
> > the original questioner started from?)
>
> Then those DBMSs are _wrong_. Period.

According to someone as confused as you are.

>
> > SQL> select length('') from dual;
> >
> > LENGTH('')
> > ----------
> >
> > You like that? You find that useful and sensible? Why is it not 0?
>
> Because the string is _undefined_. It has no value. IT DOES NOT EXIST.
> It is like asking how many digits infinity has. Infinity IS NOT A
> NUMBER. It is NOT a value.

It is not undefined, it does exist, it clearly cantains ZERO characters, you can see that with your own eyes, can you not?

> The only contradiction is claiming that
> '' = NULL
I don't claim that. YOU (and Oracle) claim that!!! My whole "frigging" point is that '' and NULL are NOT THE SAME THING!!! So you are proving my point: to suppose that '' and NULL are the same thing leads to a contradiction.

But Oracle (and you) are saying that they ARE the same thing!

> > But I can see you are a lost cause. Long ago you read the Book of
> > Oracle, and it said that '' and NULL were the Same Thing, Now and
> > Forever.
>
> Nope. This is a *BASIC* *CONCEPT* in dealing with classes and
> instances and OO design and development.

This has bugger all to do with OO design and development!

> Get into some OO programming. See for yourself.

See previous comment.

> And stop abusing NULL as a value. It is not.

I don't. You do. Oracle does. Received on Fri Jun 13 2003 - 04:37:06 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US