Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.09;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.016 c
8-25447
TGrey
2003-09-06 22:40
2004.01.09
Как определить координаты области вокруг линии


14-25584
$hade
2003-12-17 07:33
2004.01.09
Samsung DVD-OK. Кто-нибудь сталкивался?


6-25470
Копосов Н.В.
2003-11-03 09:45
2004.01.09
Socket


1-25325
Samael6
2003-12-17 17:01
2004.01.09
Outlook Express COM Add-ins


6-25460
Felixxx
2003-11-06 14:14
2004.01.09
TServerSocket и TClientSocket