 <p>No, null values are not set to the default, as null is itself a valid value for a variable or field in SQL.</p> <p>To ensure a parameter gets its default value, do not pass in the parameter at all. So for your proc:</p> <pre><code>-- @myVar will get default EXEC TestVarcharMaxIsNull -- @myVar will be null EXEC TestVarcharMaxIsNull @myVar=NULL -- @myVar will be "Hello" EXEC TestVarcharMaxIsNull @myVar='Hello' </code></pre>