Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2012.03.25;
Скачать: [xml.tar.bz2];

Вниз

Замена части строки SQL запросом   Найти похожие ветки 

 
Дмитрий   (2011-11-29 04:10) [0]

Нужно найти часть строки и заменить эту часть на другую. Например, в поле Adres значение "г Москва, ул. Тверская" заменить на "г. Москва, ул. Тверская", т.е. найти в строке "г " и заменить на "г. ".
В поле достаточно много записей. Как это реализовать SQL-запросом?
СУБД: FB2.1


 
KilkennyCat ©   (2011-11-29 05:57) [1]

в sql-92 есть строковая функция replace


 
Dennis I. Komarov ©   (2011-11-29 08:13) [2]

Вообще-то, КЛАДР придумали...


 
Дмитрий   (2011-11-29 09:45) [3]


> ilkennyCat ©   (29.11.11 05:57) [1]
> в sql-92 есть строковая функция replace

update pasp set npunkt=replace (npunkt, "г ", "г. ")
Поправьте запрос. Этот не работает


 
Дмитрий   (2011-11-29 09:54) [4]


> Dennis I. Komarov ©   (29.11.11 08:13) [2]
> Вообще-то, КЛАДР придумали...

Вот это они молодцы!


 
Кщд   (2011-11-29 09:57) [5]

>Дмитрий   (29.11.11 09:45) [3]
Например, "Устюг " -> "Устюг.")
Принято сообщать, что именно не работает и с какими ошибками/симптомами.
А сарказм свой оставьте - пустое это. Вам указали на то, что у Вас в базе бардак. Так, скорее всего, и есть.


 
Дмитрий   (2011-11-29 10:01) [6]


> Кщд   (29.11.11 09:57) [5]
> >Дмитрий   (29.11.11 09:45) [3]
> Например, "Устюг " -> "Устюг.")
> Принято сообщать, что именно не работает и с какими ошибками/симптомами.
>
> А сарказм свой оставьте - пустое это. Вам указали на то,
>  что у Вас в базе бардак. Так, скорее всего, и есть.


Разные задачи, разные проекты, где бардак?
Запрос, который я привел выше не работает. Нет ошибок и сообщений, просто не заменяет записи в таблице на тот формат, который мне нужен


 
Anatoly Podgoretsky ©   (2011-11-29 10:05) [7]

Необходимость приведение нормализации данных, это и есть бардак.
Да и кстати, с чего бы ей заменять, когда всего лишь установка переменной


 
Дмитрий   (2011-11-29 10:06) [8]


> Anatoly Podgoretsky ©   (29.11.11 10:05) [7]

Анатолий, помогите с запросом! Как заменить?


 
Anatoly Podgoretsky ©   (2011-11-29 10:09) [9]

> Дмитрий  (29.11.2011 10:06:08)  [8]

Это же FB, а я не признаю эту СУБД, ошибка природы. Соответственно я не знаю
особенностей, и мой ответ будет дилетантским. У нее одно достоинство - оно
халява.


 
Anatoly Podgoretsky ©   (2011-11-29 10:11) [10]

> Дмитрий  (29.11.2011 10:06:08)  [8]

Но говорят, что оно соответствует SQL-92, тогда вот документация
http://www.podgoretsky.com/ftp/Docs/DB/SQL%20Draft/sql1992.txt


 
Дмитрий   (2011-11-29 10:11) [11]

Спасибо


 
Dennis I. Komarov ©   (2011-11-29 10:14) [12]


> Например, "Устюг " -> "Устюг.")

+
г Москва
Г Москва
Г. Москва
Г МОСКВА
Москва
город Москва
гор. Москва
можно долго продолжать вариации...

З.Ы.
      И это еще не касаясь: проезд, проспект, переулок, площадь...


 
Anatoly Podgoretsky ©   (2011-11-29 10:18) [13]

> Dennis I. Komarov  (29.11.2011 10:14:12)  [12]

В базе гигантский бардак. Теперь только или руками или методом постепенного
приближения, с новой кучей ошибок


 
Dennis I. Komarov ©   (2011-11-29 10:31) [14]


> Anatoly Podgoretsky ©   (29.11.11 10:18) [13]

Это пока не бардак, это его потенциальная возможность при подобной архитектуре. Как на самом деле я не знаю.


 
Омлет ©   (2011-11-29 10:46) [15]


> Дмитрий   (29.11.11 09:45) [3]
> update pasp set npunkt=replace (npunkt, "г ", "г. ")

Нормальный запрос.

Вот это
SELECT npunkt FROM pasp WHERE POSITION("г " IN npunkt) > 0
что возвращает?


 
Кщд   (2011-11-29 10:51) [16]

>Дмитрий   (29.11.11 10:01) [6]
>Нет ошибок и сообщений, просто не заменяет записи в таблице на тот формат, который мне нужен
пример?


 
Ega23 ©   (2011-11-29 11:09) [17]

Только ручками.


 
KilkennyCat ©   (2011-11-29 23:26) [18]


> Ega23 ©   (29.11.11 11:09) [17]

ты злой :)


>  Дмитрий   (29.11.11 09:45) [3]
>
>
> > ilkennyCat ©   (29.11.11 05:57) [1]
> > в sql-92 есть строковая функция replace
>
> update pasp set npunkt=replace (npunkt, "г ", "г. ")
> Поправьте запрос. Этот не работает

я б поправил, но я с бд всякими не дружу, скьюл не знаю, и вообще работаю в автосервисе.


 
asail ©   (2011-11-29 23:52) [19]


> Дмитрий   (29.11.11 04:10)

UDF тебе в помощь... Или свой напиши или воспользуйся одной из туевой хучи бесплатных DLL.


 
Ega23 ©   (2011-11-30 00:24) [20]


> ты злой :)


Я не злой. Как раз на прошлой неделе похожую штуку ваял.
Можно "предложить", чекбоксы там включить, цветом строки "похожие" пометить.
Но решение должен принимать человек.


 
Труп Васи Доброго ©   (2011-11-30 14:31) [21]

Блин, этот вопрос старый как овно мамонта. Читать здесь http://www.firebirdfaq.org/faq374/


 
Anatoly Podgoretsky ©   (2011-11-30 15:42) [22]

> KilkennyCat  (29.11.2011 23:26:18)  [18]

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


 
KilkennyCat ©   (2011-11-30 20:26) [23]


> Anatoly Podgoretsky ©   (30.11.11 15:42) [22]

да, я про стуки в коробки дохрена знаю. там много хреней, твердых очень, и они как по отдельности так и вместе, в любой комбинации могут ударяться друг об друга или об че-нить еще, вызывая в воздухе колебания, слышимые человеческим ухом (а возможно и нечеловеческим), и в колебания во всей конструкции, чуствимые седалищем (любым), приобретшие в народе понятие "стук".
В последнее время, я склоняюсь к теории, что там внутре есть невидимые глазу существа с молотками, которые обеспечивают работу механизма переключения (иным способом логику всех этих шестеренок не объяснить) и тащутся от этого. А иногда не тащутся или просто им выйти надо и они стучат молотками.

а вообще, странное название - коробка передач. системный блок не называют же коробкой мильенов транзисторов. и холодильник не называют коробкой еды.


 
Inovet ©   (2011-11-30 21:46) [24]

> [23] KilkennyCat ©   (30.11.11 20:26)
> системный блок не называют же коробкой мильенов транзисторов.
> и холодильник не называют коробкой еды.

системный блок - коробка с чипсами, холодильник - коробка со льдом icebox.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2012.03.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.004 c
15-1322201064
Alex_C
2011-11-25 10:04
2012.03.25
Поиск в индексированной базе: что быстрее


2-1323353405
Елена
2011-12-08 18:10
2012.03.25
ScrollBox


2-1323332433
TComponent
2011-12-08 12:20
2012.03.25
Вопрос по WinExec


2-1323521292
3asys
2011-12-10 16:48
2012.03.25
Открытие файлов в TWebBrowser


15-1322572946
upc
2011-11-29 17:22
2012.03.25
Canvas.Rectangle





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский