home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.ms-sqlserver      Notorious Rube Goldberg contraption      19,505 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 18,828 of 19,505   
   Mark D Powell to All   
   How to determine true contents of not nu   
   07 Mar 13 09:16:48   
   
   From: Mark.Powell2@hp.com   
      
   We have a table with a column that shows it must hold a value (nvarchar(7) not   
   null), but when displayed always shows nothing.  Since "not null" is specified   
   that made the customer think the column contains one or more spaces.   
      
   I ran the following query (minus from/where) that returned results consistent   
   with the customer view considering that datalength is supposed to return Null   
   for Null.  But when I added the ASCII function to see the value Null   
   returned.  OK, so it appears    
   that the column is being treated as a zero length string.   
      
   How can a "not null" colummn be empty?  Can anyone explain what I am seeing   
   and where specifically in the documentation I can read up on this?   
      
   select coalesce(acceptor,'SPACE'),ISNULL(acceptor,'NULL'),   
          LEN(acceptor), DATALENGTH(acceptor),   
          coalesce(DATALENGTH(acceptor),'X'), nullif(' ',acceptor) "NULLIF",   
          ASCII(acceptor) "ASCII", REPLACE(acceptor,'','X') "NOSPACE",   
          REPLACE(acceptor,' ','X') "SPACE", UNICODE(acceptor)   
   ...   
      
   COALESCE  ISNULL  LEN	DATALENGTH	CK_DATAL	NULLIF	ASCII	NOSPACE	SPACE	UNICODE   
   ........  ......  0	0		0		NULL	NULL	.......	.....	NULL   
      
   Curious.   
   -- Mark D Powell --   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca