Vedi perché devi pubblicare il TUO codice?
DISTINCT(SUBSTRING(articolo,1,5)) as 'CODICE',
Tu usi DISTINCT come una funzione,
cosa che non è.
Inoltre, perché mettere CODICE tra apici? Non ha senso.
Ti bastava andare a studiare la sintassi corretta (io 'ripasso' spesso perché la memoria inganna...):
SELECT (Transact-SQL) | Microsoft Docs
https://docs.microsoft.com/it-it/sql/t-sql/queries/select-transact-sql
Nel tuo caso dovrebbe essere:
SELECT DISTINCT SUBSTRING(articolo,1,5) As CODICE,
Fai attenzione che,
ovviamente, se nella select includi anche il campo DESCRIZIONE e questo
cambia in ogni articolo, allora la DISTINCT fallirà miseramente.