I have a stored procedure with a parameter name which I want to use in a where clause to match the value of a column i.e. something like
name
where
What you have done is correct. There is a more concise way, but it isn't really better:
where nvl(col1,'xx') = nvl(name,'xx')
The trouble is, you have to make sure that the value you use for nulls ('xx' is my example) couldn't actually be a real value in the data.