title: Why is DB2 treating an empty string as null?
body: <p>Using DB2 10.5 on Windows x64</p>
  
  <pre><code>UPDATE dbo.datasource_databases
  SET HOST = ''
  WHERE ID = 1
  
  Assignment of a NULL value to a NOT NULL column "TBSPACEID=2, TABLEID=6, COLNO=1" is not allowed.. SQLCODE=-407, SQLSTATE=23502, DRIVER=3.67.28
  </code></pre>
  
  <p>HOST is a VARCHAR(512) NOT NULL</p>
  
  <p>Is this expected behavior? If so, how should I work around this and if not, what could be causing this?</p>
  
  <p>Edit: Along the same lines, <code>SELECT ID, HOST from dbo.datasource_databases WHERE HOST != ''</code> returns 0 rows, where checking for <code>HOST != 'some gibberish'</code> will return rows. To me this makes even less sense than the above behavior (shouldn't it just treat it as <code>HOST NOT NULL</code>?).</p>