On 06/03/2016 11:56 AM, David W Noon wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Fri, 3 Jun 2016 11:16:33 -0700, Michael Moore
> (michaeljmoore@gmail.com) wrote about "[SQL] NOT NULL CHECK (mycol
> !='') :good idea? bad idea?" (in
> <CACpWLjPX-_80aXcJFbk7wxZWKPTs2Fyeywe=6HmgorzV2U=n7A@mail.gmail.com>):
>
>> In Oracle, a NOT NULL constraint on a table column of VARCHAR in
>> essence says: "You need to put at least 1 character for a value".
>> There is no such thing as a zero-length string in Oracle, it's
>> either NULL or it has some characters.
>
> So Oracle is not compliant with ANSI standard SQL.
Though it looks like they want to be:
http://docs.oracle.com/database/121/SQLRF/sql_elements005.htm#SQLRF30037
"Note:
Oracle Database currently treats a character value with a length of zero
as null. However, this may not continue to be true in future releases,
and Oracle recommends that you do not treat empty strings the same as
nulls."
--
Adrian Klaver
adrian.klaver@aklaver.com