A lot of times, a database will end up with the actual text
word "null" in a column after a binding mechanism has been used to edit the table row. That happens when the display mechanism pushed the word "null" out to the user form and the user then sent it back.
There's a big difference between no value (null) and and empty string (""). Unfortunately, text editing displays usually don't handle that, and people aren't very good at it either. It's best to avoid using null in databases except in cases where null means literally "no data available". Even then, you should be prepared to handle the distinction.
The problem can be even worse for numeric fields than it is for text fields. I've dealt with systems that had major complications because the data store was designed with null numeric fields.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.