• Use of the below could be argued as an acceptable solution.

    if (@SearchMe is not null and @FindMe is not null and @ReplaceMe is not null) Select #1NormalReplace = Replace(@SearchMe, @FindMe, @ReplaceMe)

    We have all tried to explain that NULL does not equal 0 or NULL to an end user and often the response I've gotten is "That's STUPID!" This raises the question, What does null really mean? It is more involved than Schrödinger's cat delima. Null brings into question is there a cat or radioactive isotope in the box. My spin is that NULL means "I don't know", or that it has not intentionally been assigned a value by the system or a user. A value of 0 or empty string can be inferred as an intentional assignment. Often we may want to establish a starting point (e.g. shopping cart total). Here a default should be used and not allow nulls. Other times you may have a Yes/No question. Do you use a default? By using a default you have forced an answer to all questions. In fact the answer to the question may be "I don't know" or "I abstain".

    In my opinion NULLs serve a purpose. They are the love child of two people arguing semantics.