Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Преобразование строки в запросе


Автор: lynx13 11.4.2008, 12:35
Ну вобщем есть таблица, в ней есть такие поля

Иванов Иван Иваныч      Ivanov Ivan
Петров Петр петрович   Petrov Petr
........                                 ...........
и так далее

А нужно сделать так:

Иванов И.И.                    Ivanov.I
Петров П.П.                    Petrov.P  

Причем нужно учесть что могут быть пробелы в начале , конце, между словами больше чем 1 пробел:
   Иванов Иван   Иваныч

Автор: Mikh@il 11.4.2008, 14:07
А тебе че надо вообще? Делать преобразование SQL-запросом или в Delphi?

Автор: lynx13 11.4.2008, 14:16
в SQL- запросе...

Автор: Mikh@il 11.4.2008, 14:20
Какую СУБД используешь. Для разной СУБД может отличаться синтаксис? 

Автор: lynx13 11.4.2008, 14:23
Это мне нужно, чтобы сравнивать данные из этой таблицы с данными других таблиц,где информация о пользователях храниться в таком виде

Иванов И.И.                    Ivanov.I
Петров П.П.                    Petrov.P   smile

Добавлено через 24 секунды
Для oracle

Автор: Mikh@il 11.4.2008, 14:33
Юзай функции по работе с текстом.

Смысл такой:

1. Читаешь содержимое поля
2. Строку загоняешь в переменную
3. Берешь 1-ый символ и до пробела, остальные символы сокращаешь (Только вот незнаю как ты сделаешь двойные фамилии)
4. Потом все это обработанное в какую нибудь спец. созданную табличку пишешь (т.е. что-то типа справочника делаешь)
5. А дальше сравниваешь




Автор: lynx13 11.4.2008, 14:40
Спосибо!!! Хотя я мало что понялаsmile))



Автор: lynx13 14.4.2008, 14:52
Может подскажете мне , как ликвидировать лишние пробелы между словами??
нужно, чтобы между словами был одинарный пробел!!

Автор: Rodman 14.4.2008, 14:57

M
Rodman
Модератор: Пожалуйста, один топик - один вопрос.

Автор: lynx13 16.4.2008, 10:56
Ай ладно..Вобщем решила проблему с помощью встроеных функций smile 
Спосибо!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)