powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / А можноли вообще такое select-ом сделать?
21 сообщений из 21, страница 1 из 1
А можноли вообще такое select-ом сделать?
    #34874842
geki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В БД фамилия, имя и отчество хрянится в одном столбце, возможно ли сделать запрос который бы выводил их в отдельных столбцах?
Подскажите, пожалуйста!
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34874854
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
 А можноли вообще такое select-ом сделать?
А чего бы и нет?
instr + substr тебе в помощь
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34874857
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старшие товарищи возможно подскажут более элегантный метод, но решение в лоб
select кучка(функций(вырезающих(фамилию(my_field)))), кучка(функций(вырезающих(имя(все тот же my_field)))), кучка(функций(вырезающих(отчество(и снова my_field))))
from my_table

В качестве фунций либо substr (или как он точно звучит в постгресе)+ определение позиции пробела в строке, либо регулярками.
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34874909
geki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я смысл понял, но не могу понять как это сделать substring режит по кол-ву символом а оно уменя всегда разное....! Как мне это замутить?
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34874984
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gekiя смысл понял, но не могу понять как это сделать substring режит по кол-ву символом а оно уменя всегда разное....! Как мне это замутить?Найти позицию пробела в строке
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34874987
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pamir gekiя смысл понял, но не могу понять как это сделать substring режит по кол-ву символом а оно уменя всегда разное....! Как мне это замутить?Найти позицию пробела в строкеЕсли они у тебя пробелами разделяются. В общем случае - найти позицию разделителя.
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875105
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SELECT split_part('карл у клары украл кораллы',' ', 3)
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875121
Rastafarra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
select regexp_replace(name, '([а-яА-Я]*)\ .*', E'\\1', 'g'),
       regexp_replace(name, '.*\ ([а-яА-Я]*)\ .*', E'\\1', 'g'),
       regexp_replace(name, '.*\ .*\ ([а-яА-Я]*)', E'\\1', 'g')

имхо как-то так. запускать не пробовал :)
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875133
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321
Код: plaintext
SELECT split_part('карл у клары украл кораллы',' ', 3)
Я же говорил про старших товарищей :)
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875157
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pamir 4321
Код: plaintext
SELECT split_part('карл у клары украл кораллы',' ', 3)
Я же говорил про старших товарищей :)гм. в старшие не гожусь, но:
тут правда бяка с количеством пробелов в разделителях. иногда в сплит_парт будет попадаться пробел. но перебрать все парты можно. придется хранимку писать. Или же сначал сжать пробелы регэкспами, а потом отсплитить парты.
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875196
geki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это я понимаю, split_part!!!!!!! То что нужно!!! Все замутилось!)))))))))
Спасибо ОГРОМНОЕ!
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875283
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно с помощью функции string_to_array
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875363
Rastafarra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
специально попробовал :)

Код: plaintext
1.
2.
select regexp_replace('карл  у	клары	   украл кораллы', '^([а-яА-Я]*).*$', E'\\1', 'g'),
       regexp_replace('карл  у	клары	   украл кораллы', '^[а-яА-Я]*[[:space:]]*([а-яА-Я]*).*$', E'\\1', 'g'),
       regexp_replace('карл  у	клары	   украл кораллы', '^[а-яА-Я]*[[:space:]]*[а-яА-Я]*[[:space:]]*([а-яА-Я]*).*$', E'\\1', 'g')
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875565
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rastafarraспециально попробовал :)

Код: plaintext
1.
2.
select regexp_replace('карл  у	клары	   украл кораллы', '^([а-яА-Я]*).*$', E'\\1', 'g'),
       regexp_replace('карл  у	клары	   украл кораллы', '^[а-яА-Я]*[[:space:]]*([а-яА-Я]*).*$', E'\\1', 'g'),
       regexp_replace('карл  у	клары	   украл кораллы', '^[а-яА-Я]*[[:space:]]*[а-яА-Я]*[[:space:]]*([а-яА-Я]*).*$', E'\\1', 'g')


Код: plaintext
1.
2.
SELECT f[ 1 ],f[ 2 ],f[ 3 ], f[ 4 ], -- ....
 FROM  
(SELECT string_to_array(trim(regexp_replace(' карл   у   клары украл     кораллы ','(\ +)',' ','g')) , ' ') as f) AS foo
?
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34875614
_Андрей_М
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и до кучи :-)
Код: plaintext
1.
2.
select substring('Иванов   Иван     Иванович' from '(\\w+)\\s+\\w+\\s+(\\w+)'),
	substring('Иванов   Иван     Иванович' from '\\w+\\s+(\\w+)\\s+\\w+'),
	substring('Иванов   Иван     Иванович' from '\\w+\\s+\\w+\\s+(\\w+)')
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34876860
Rastafarra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ого, круто! :)

...пошел курить маны и учиться писать regexp-ы... :)
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34876876
glebofff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, сделать это надо один раз - разнести по столбцам.
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34877141
geki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну спасибо ребята столько вариантов написали, а делать это нужно систематически так идет каждодневная выгрузка в дурацкий *.dbf. )))
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34877165
geki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребята, поскажите плиз как тут же сделать замену всех украинских 'i' на анклийские 'i', поскольку dbf c украинской 'i' показывает все свои прелести (((.
Нужно как я понял вкрутить еще какуй-то регулярку окромя той???!
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34877196
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gekiребята, поскажите плиз как тут же сделать замену всех украинских 'i' на анклийские 'i', поскольку dbf c украинской 'i' показывает все свои прелести (((.
Нужно как я понял вкрутить еще какуй-то регулярку окромя той???!банальный replace
...
Рейтинг: 0 / 0
А можноли вообще такое select-ом сделать?
    #34877317
geki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо с заменой сам разобрался, функция replace )))))
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / А можноли вообще такое select-ом сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]