Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: [Q] Porting SQL to Oracle
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
![]() |
![]() |