SQL Select первая буква второго слова

194
24 декабря 2019, 00:50

Прошу помощи , есть выборка результатирующая которая выводит поле fio

в FIO выводит Иванов Олег Ярославович из этого ФИО мне нужно выводить ":Иванов О"

нагуглил решение

SELECT  CONCAT(':', SUBSTRING_INDEX(`fio`, ' ', 1), ' ', LEFT(SUBSTRING_INDEX(`fio`, ' ', -2), 1)) AS `author` 
FROM user

и оно вроде рабочее но если фио не полное к примеру Иванов Олег то моя конструкция уже работает не корректно и выводит "Иванов И"

Answer 1

Можно сделать что-то вроде:

select left(fio,charindex(' ',fio) + 1) from user

Или еще можно так)

select  string_agg(case when x.row = 2 then left(x.val,1) else x.val end,' ') 
from user 
cross apply (select row_number() over(order by fio) row, 
val = value from string_split(fio,' ')) as x 
where x.row in(1,2) 
group by fio
READ ALSO
Could not instantiate mail function

Could not instantiate mail function

Когда отправил данные на почта, но такой ошибка бываетСайт в CodeIgniterе

176
Как оправить форму методом POST

Как оправить форму методом POST

У меня есть форма, вот она:

173
Извлечь текст заключенный в кавычках

Извлечь текст заключенный в кавычках

Использую регулярное выражение:

172
Помогите разобраться в фильтре wordpress php

Помогите разобраться в фильтре wordpress php

Собственно в чем дело, я делаю фильтр по мета полю содержащему массив с метками подскажите почему нечего не выводится даже когда я подставляю...

181