This is probably a variable (any of varchar(8), nvarchar(8), char(8), or nchar(8), since you match it to an 8-character fixed date format).
Some systems use : preceding the name to denote a variable name. Some use ?. Others use @. Others don't require any leading character at all.
To know what is right for your database, we need to know what kind of database you're using. to_date() narrows it down to Oracle or Postgresql, but that's still not enough, because I've also seen reporting tools which use : preceding the name for variables regardless of the ultimate database platform.
But you probably don't want to just add a DECLARE statement for the variable. The variable alone is not helpful here unless it already has a meaningful value. You need to figure out where that value is supposed to come from, and make sure that system is set up to provide it correctly.
:preceding the name to denote a variable. Some use?. Others use@. To know what is right for your database, we need to know what kind of database you're using.to_date()narrows it down to Oracle or Postgresql, but that's still not enough, because I've also seen reporting tools that use:preceding the name for variables regardless of the ultimate database platform.