Just to add my tiny experience here about Null, if I may.
I had those statistics Views created from many tables. Every source tables were loaded from different group of people, but the data were all related, so the group "A" has to create one reference so group "B" and "C" could enter theirs info.
As the group "A" may not has received all the information while creating the reference case, many columns would be "NULL", being entered later, but sometimes (for specific column) there could be some "really unknown" data (the data is impossible to get for any reason) and other time their could be no data to enter at all (the data is not applicable for the type of reference)
So, three cases of a completely different meaning for an empty column value. The solution for me (who had really not much SQL experience) was simple: write something of leave it "NULL" and create the Views with an "IsNull" for the specific colum (if is "Null", write 'not received yet' or write 'will be known next month', etc. depending of the specificity ot the View)
_ NULL value = data never was entered/received
_ Unk = Data was/will never be acquired (mostly because of human error)
_ N/A = Nothing as data is not applicable (nothing could be acquired for the type of that reference)
Surely, if the column would have been integer values, I would had to find an other solution, but my point here is that Null (for me) really means more than nothing, more than the emptyness of the space: it means the "nothingness of the emptyness" before its creation
So, it is logic to me that concatenating a Null to a value put "nothing" beside something ("Null" is not created so it does not exist), but adding (+) something to whatever is not created (Null) makes that something absorbed and becomes something to be created (like putting a planet in a black hole, but my comparaison is bad because a black hole is a compact mass of something, so...)
Hope I did not disturb anyone with my vision...