A mi me parece que lo que tienes que hacer es una función que tome un texto
y que a las palabras que tengan una longitud mayor a la deseada le
agregue un punto truncandolas a la longitud que deseas... luego esa
función la incluyes
como una columna en un select
SELECT
codigo,
funcion_que_abrevia(asignatura)
FROM
tabla_asignaturas