Разделить текст по столбцам в запросе

Автор XStasya, 15 февраля 2024, 12:22

0 Пользователи и 1 гость просматривают эту тему.

XStasya

В базе данных фамилия имя и отчество записаны в одном поле, разделены пробелом. Пробую разделить по отдельным полям в запросе с помощью формулы: LEFT( "фио", FIND( " ", "фио", 1 ) ) - не работает. При этом формула LEFT( "фио", 1 )извлекает первую букву правильно. Не работает именно FIND. Пробовала заменить на SEACH, то же работает. 2024-02-15_12-21-43.png

bigor

Посмотрел команды работы со строками sql от MS, нет там ни Find ни Search. Думаю и в Base их нет
Поддержать наш форум можно здесь

XStasya

Видимо нет((((. Решила вопрос по другому. Мне эти данные нужны были для печати, при создании отчета все эти формулы прописать можно. Если в друг кому понадобится у меня вышла вот такая конструкция:
LEFT([фио];FIND(" ";[фио];1)-1)&" "&LEFT(LEFT(RIGHT([фио];LEN([фио])-FIND(" ";[фио];1));FIND(" ";RIGHT([фио];LEN([фио])-FIND(" ";[фио];1));1));1)&". "&LEFT(MID(RIGHT([фио];LEN([фио])-FIND(" ";[фио]));FIND(" ";RIGHT([фио];LEN([фио])-FIND(" ";[фио])))+1;LEN(RIGHT([фио];LEN([фио])-FIND(" ";[фио]))));1)&"."

Самой смотреть на нее страшно, делала по этому алгоритму:
=LEFT(B2,FIND(",",B2)-1)
=MID(B3,FIND(",",B3)+1,LEN(B3)-FIND(",",B3))

bigor

можно и так разобрать ФИО
=TRIM(LEFT(SUBSTITUTE(A3;" ";REPT(" ";50));50))
=TRIM(MID(SUBSTITUTE(A3;" ";REPT(" ";50));50;50))
=TRIM(RIGHT(SUBSTITUTE(A3;" ";REPT(" ";50));50))
Поддержать наш форум можно здесь

rami

Запрос для LibreOffice 24.2 (Firebird):
SELECT "id", "фио", TRIM ( SUBSTRING ( "фио" FROM 1 FOR POSITION( ' ', "фио" ) ) ) "Имя", TRIM ( SUBSTRING ( SUBSTRING ( "фио" FROM POSITION( ' ', "фио" ) + 1 ) FROM 1 FOR POSITION( ' ', SUBSTRING ( "фио" FROM POSITION( ' ', "фио" ) + 1 ) ) ) ) "Отчество", TRIM ( SUBSTRING ( SUBSTRING ( "фио" FROM POSITION( ' ', "фио" ) + 1 ) FROM POSITION( ' ', SUBSTRING ( "фио" FROM POSITION( ' ', "фио" ) + 1 ) ) + 1 ) ) "Фамилия" FROM "table"В исходной таблице два поля "id" и "фио", результат на картинке:

XStasya

К сожалению2024-02-16_10-26-14.png выдает синтаксическую ошибку((((

bigor

Странно, у меня нормально отработало

а у вас база встроенная или внешняя?
Поддержать наш форум можно здесь

XStasya

если встроенная, это та которая у меня на компе, то да. Версию тоже поставила 24.2. Жалко, что здесь как в аксессе не указывает где ошибка

bigor

Пробуйте по частям, вначале просто ид и фио, затем имя добавьте итд
Поддержать наш форум можно здесь