Как в sqlite сделать запрос, чтобы из полного ФИО получить сокращенное?

Как в sqlite сделать запрос, чтобы из полного ФИО (фамилия, имя и отчество) получить на выходе сокращенное ФИО (фамилию и инициалы)?

В ячейке t_name указано полное ФИО (фамилия, имя и отчество)

Функция

conn = sqlite3.connect(settings.DATA_BASE)
cursor = conn.cursor()   
sql = f"""SELECT data, para, idgroup, subj_name, t_name, t_aud
         FROM subs 
         WHERE strftime('%Y-%m-%d', data) = strftime('%Y-%m-%d', 'now', 'localtime') AND lower(t_name) like ? 
         ORDER BY para ASC"""
query = "%{}%".format(message.text.casefold())
query = query.title()
cursor.execute(sql, (query,))
result = cursor.fetchall()
if not result:
    msg = f"Не має замін для <b>{message.text}</b>."
    bot.send_message(message.from_user.id, msg, reply_markup=teacher, parse_mode='HTML')
    return
else:
    for ln in result:
        msg = f"? Лента:   {ln[1]}\n" \
              f"? Группа:   {ln[2]}\n" \
              f"? Предмет:   {ln[3]}\n" \
              f"? Преподаватель:   {ln[4]}\n" \
              f"? Кабинет:  {ln[5]}\n"
        bot.send_message(message.from_user.id, msg, reply_markup=teacher, parse_mode='HTML')
conn.commit()
conn.close()

Ответы (1 шт):

Автор решения: Last_Arkhangel

Вот такой в итоге получился запрос

sql = f"""SELECT data, para, idgroup, subj_name,
    SUBSTR(t_name, 1, INSTR(t_name, ' ')-1) as f_name,
    SUBSTR(t_name, INSTR(t_name, ' ')+1,1) as l_name,
    SUBSTR(t_name, INSTR(SUBSTR(t_name, INSTR(t_name, ' ')+1), ' ')+ INSTR(t_name, ' ')+1,1) as o_name,
    t_aud
FROM subs 
WHERE strftime('%Y-%m-%d', data) = strftime('%Y-%m-%d', 'now', 'localtime') AND lower(t_name) like ? 
ORDER BY para ASC"""
→ Ссылка