I know that it does consider \' \' as NULL
, but that doesn\'t do much to tell me why this is the case. As I understand the SQL specifications
Tom Kyte VP of Oracle:
A ZERO length varchar is treated as NULL.
'' is not treated as NULL.
'' when assigned to a char(1) becomes ' ' (char types are blank padded strings).
'' when assigned to a varchar2(1) becomes '' which is a zero length string and a zero length string is NULL in Oracle (it is no long '')