I am using SQL Server 2016 Enterprise Edition and saw some curious behavior in regards to parameterizing a LIKE predicate.
Here is some sample code to demonstrate the issue. The CUSTLABEL field has an index on it. The unparameterized last query has a significantly lower cost:
declare @custlabel_wildcard varchar(50) = 'Patient%'
declare @custlabel_no_wildcard varchar(50) = 'Patient'
-- Cost .23
select count(*) from GR_CUST_FIELD_DATA where CUSTLABEL like @custlabel_wildcard
-- Cost .23
select count(*) from GR_CUST_FIELD_DATA where CUSTLABEL like @custlabel_no_wildcard + '%'
-- Cost .067
select count(*) from GR_CUST_FIELD_DATA where CUSTLABEL like 'Patient%'
The plan for the first query is here: https://www.brentozar.com/pastetheplan/?id=BkzUb6OEd
The plan for the last query is here: https://www.brentozar.com/pastetheplan/?id=H1r9b6OVu