Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизSQL Найти похожие ветки
← →
zzzrrv (2003-12-10 11:40) [0]Подскажите как можно в поле таблицы заменить один символ на другой при помощи запроса. Например у меня Pole1="мастер*1" и мне надо во всех записях этой таблицы поменять символ * на символ +. Буду благодарен за пример.
← →
Johnmen (2003-12-10 11:43) [1]Запросом - никак.
В программе пробежать все записи и заменить.
← →
Малиновский Владимир (2003-12-10 11:44) [2]Зависит от вашего сервера. Уточните.
← →
Johnmen (2003-12-10 11:49) [3]>Зависит от вашего сервера.
Сервер - dBase, FoxPro :))))))
← →
Малиновский Владимир (2003-12-10 11:56) [4]Ну, так это ж только ручками!
uses StrUtils...
...
While not Table1.Eof do begin
Table1.FieldByName["NyField"].AsString :=
AnsiReplaceStr(const "*", (Table1.FieldByName["MyField"].AsString), "Тут была звездочка!")
Table1.Next
end
← →
sniknik (2003-12-10 12:56) [5]пример запроса(!!!) :)
UPDATE CASHGOOD
SET CARDARTICU = Left(CARDARTICU, InStr(CARDARTICU, "*")-1)+"+"+ Right(CARDARTICU, Len(CARDARTICU)-InStr(CARDARTICU, "*"))
WHERE InStr(CARDARTICU, "*") > 0
Johnmen © (10.12.03 11:49) [3]
> Сервер - dBase, FoxPro :))))))
здесь Сервер - Jet. dBase всего лиш ISAM (формат) ;о))))
работает со строкой
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties= dBase IV;Persist Security Info=False
Малиновский Владимир (10.12.03 11:44) [2]
>Зависит от вашего сервера. Уточните.
очень, очень зависит.
zzzrrv (10.12.03 11:40)
ну как, помогло? ;о)
(думаю нет)
← →
Johnmen (2003-12-10 13:01) [6]>sniknik © (10.12.03 12:56)
1. Что за функции Left, InStr, Right, Len ? Откуда они ?
2. Не понял, откуда появился сервер ? Или мы разные вещи под ним понимаем ? :)
← →
zzzrrv (2003-12-10 13:34) [7]Если бы был сервер! А то у меня таблица dbf.
>sniknik не помогло
видимо только через программу
← →
Alex_Bredin (2003-12-10 13:43) [8]2 zzzrrv
раз возникают такие задачи, надо подумать над улучшением структуры таблиц (если это в Вашей компетенции)
← →
Anatoly Podgoretsky (2003-12-10 13:46) [9]sniknik © (10.12.03 12:56) [5]
А откуда взялся Jet, вроде никаких намеков на это.
← →
Малиновский Владимир (2003-12-10 13:50) [10]Оттуда! Посмотри сам и удивишься...
← →
zzzrrv (2003-12-10 14:49) [11]>малиновский если тоже необходимо сделать в таблице ORACLE то как
← →
Малиновский Владимир (2003-12-10 14:54) [12]~, ndj. vfnm! @$# ~*_$@#!!!!
~, ndj. vfnm! @$# ~*_$@#!!!!
~, ndj. vfnm! @$# ~*_$@#!!!!
тебя же сразу спросили, что за сервер?
← →
zzzrrv (2003-12-10 14:57) [13]Да дело в том что я выгружаю из оракловой таблицы в dbf и мне желательно менять в dbf
← →
Малиновский Владимир (2003-12-10 15:07) [14]Ну, так Jet, как сказал sniknik, или на клиенте, как я написал.
← →
sniknik (2003-12-10 15:08) [15]Johnmen © (10.12.03 13:01) [6]
> 1. Что за функции Left, InStr, Right, Len ? Откуда они ?
бейсик, jet понимает в запросах часть его функций
> 2. Не понял, откуда появился сервер ? Или мы разные вещи под ним понимаем ? :)
на сервер Малиновский Владимир очень тонко намекал. ;о))
jet хотя и для локальных баз но во многом сервер напоминает. (по некоторым описаниям его так и надо воспринимать, подразумевается что таблици не просто открываются а запросы идут к некоторому ядру(серверу) от которого ответ (рекордсет), если так воспринимать сразу отпадает куча вопросов, типа почему BDE открывает таблицу моментально а ADO - Jet после "тормозов" и т.д. ...) ну понимаеш в общем что я в виду имел, да?
Anatoly Podgoretsky © (10.12.03 13:46) [9]
> А откуда взялся Jet, вроде никаких намеков на это
но и возражений не было (а еще лутше точного указания чего используется), а просто dBase, FoxPro может открыватся кучей драйверов/серверов/компонент... не так ли? Anatoly ну ты то возражать не будеш по этому поводу. ;о)
просто не удержался. (показательно насколько это зависит, то что используеш, от категоричного "нет" до "без проблем", и то и то будет правильно разница только в исходных данных)
← →
DenK_vrtz (2003-12-10 15:10) [16]>zzzrrv (10.12.03 14:49) [11]
в OREACLE это функция translate
← →
Малиновский Владимир (2003-12-10 15:12) [17]А может, пусть Oracle работает, когда формирует курсор на выгрузку, раз он такой уж крутой?
← →
zzzrrv (2003-12-10 15:14) [18]>малиновский А запрос для оракловой базы не подскажешь пожалуйста
← →
DenK_vrtz (2003-12-10 15:17) [19]>zzzrrv (10.12.03 15:14) [18]
ты читать умеешь?! я ж тебе написал какой функцией воспользоваться
← →
zzzrrv (2003-12-10 15:19) [20]>[18] уточню в смысле запрос на update а не на выгрузку
← →
zzzrrv (2003-12-10 15:20) [21]хорошо попробую
← →
DenK_vrtz (2003-12-10 15:25) [22]для тех кто в танке!
update table set
поле = translate(поле,"*","+")
← →
Малиновский Владимир (2003-12-10 15:28) [23]Не совсем уверен, не помню синтаксиса Translate
На выгрузку:
select b.*, Translate(b.fname,"Россия", "США") as Country from bank b where
b.fname containing "Росс"
На изменения
update bank b
set
b.fname = Translate(b.fname,"Россия", "США")
where b.fname containing "Росс"
← →
zzzrrv (2003-12-10 15:35) [24]спасибо владимир малиновский & denk_vrtz
у меня получилось заменить символ вот таким запросом
UPDATE dicnomns SET NOMEN_NAME = replace(NOMEN_NAME,"*","+")
большое спасибо еще раз
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.01 c