Если поле ContractPO всегда имеет одинаковую длину, вы можете просто сделать:
SELECT
CPOID,
ContractPO,
ContractPOTitle,
RIGHT(ContractPO, 8) + '-' + ContractPOTitle as [ConcatField]
FROM MyTable
Предполагая, что длина поля ContractPO не является фиксированной И мы должны полагаться на удаление текста послерядом с последним '-' будет работать следующий SQL.Это немного уродливо, но эти типы операций необходимы, потому что в SQL Server не существует функции LASTINDEX, доступной из коробки.
SELECT
CPOID,
ContractPO,
ContractPOTitle,
RIGHT(ContractPO, CHARINDEX('-', REVERSE(ContractPO), CHARINDEX('-', REVERSE(ContractPO)) + 1) - 1) + '-' + ContractPOTitle as [ConcatField]
FROM @myTable