This is my query.
select CONVERT(varchar, cast(date as datetime), 3)
from shoptransfer
group by year (date)
I want to group by the year pa
I don't know about T-SQL, but in SQL in general, what is in the group by clause must exactly match each non-aggregate function column in the select clause. Try
select CONVERT(varchar,cast(date as datetime),3)
from shoptransfer
where
SUBSTRING(productcode, 5, 3) like '%' group by CONVERT(varchar,cast(date as datetime),3)
also, where SUBSTRING(productcode, 5, 3) like '%'
is not filtering out much - maybe remove it.