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

Вниз

Как изменить значение всех строк с пом. sql   Найти похожие ветки 

 
Леха   (2004-09-24 11:05) [0]

Имеются таблица adres, поле - naimen
Нужно чтобы каждое значение этого поля было изменено так. Пример. СергеевСН. Нужно чтобы стало Сергеев СН. Т.е. перед двумя посл. буквами поставить пробел. Как это сделать с пом. SQL


 
msguns   (2004-09-24 11:09) [1]

Какой доступ (BDE,ADO,..) ?


 
Леха   (2004-09-24 11:14) [2]

ADO


 
Леха   (2004-09-24 11:14) [3]

ADO. Но могу настроить и БДЕ. Это не проблема. Главное хоть какой-нибудь вариант кода на SQL


 
Sergey13 ©   (2004-09-24 11:20) [4]

А зачем именно SQL? "Чистый" SQL такого не могет вроде. Циклом пробежаться и все. К тому же проверочек можно наляпать, вдруг там где нить точки нет или одна буква большая.


 
Johnmen ©   (2004-09-24 11:25) [5]

Использовать ф-ии SUBSTRING и LEN (вроде так называются)


 
Nikolay M. ©   (2004-09-24 11:26) [6]

Не знаю, как в фоксе со строковыми функциями, в МС СКЛ выглядело бы примерно так:
UPDATE
 tab
SET
 f = LEFT(f, LEN(f) - 2) + " " + RIGHT(f, 2)


 
sniknik ©   (2004-09-24 11:45) [7]

> в МС СКЛ выглядело бы примерно так:
в jet (в том числе и для dBase) также.


 
Леха   (2004-09-24 11:48) [8]

А как циклом сделать? Проверок не нужно ни каких. Просто в каждой строке изменить значение поля.


 
Nikolay M. ©   (2004-09-24 11:53) [9]

Ты уж определись: циклом тебе, "чистым" СКЛ-ем или еще как? А то мы тебе скажем, как это циклом сделать, а ты потом потребуешь, чтобы еще под любую ОС, в любой среде программирования, при выключенном компьютере и по таймеру...


 
Леха   (2004-09-24 12:01) [10]

Да мне это нужно сделать один раз. Пока информация в Екселе. Сохранить могу и в dbf и в базу акцессовскую, если потребуется. В дальнейшем конечно мне нужен акцесовский формат базы, но проблема не в этом. Как провести изменения со значениями....


 
Nikolay M. ©   (2004-09-24 12:05) [11]

Ты не поверишь, но в Екселе тоже есть функции ДЛСТР(), ЛЕВСИМВ() и ПРАВСИМВ()! Чего ты людям мозги пудришь?


 
sniknik ©   (2004-09-24 12:08) [12]

> Пока информация в Екселе.
это сделать труднее чем в какойлибо другой базе, в том же аксессе.
(хотя и не сильно ;о)
)
> но проблема не в этом.
видимо она в том, что ты даже приведенный запрос выполнить не можеш?


 
Леха   (2004-09-24 12:22) [13]

Запрос на SQL я действительно не знаю можно или нет так сделать. Да и SQL знаю лишь на 0,00005%. Типа select и т.д. Вот хотел и узнать можно или нет. Как?
Проблему решил но в Екселе. Теперь все верну назад в базу. Всем спасибо.


 
сергей1   (2004-09-24 12:28) [14]

типа такого (через дельфи)

form1.ADOQuery1.SQL.Text:="select key_field from table1";
form1.ADOQuery1.Open;
form1.ADOQuery1.First;
while not form1.ADOQuery1.Eof do
begin
 form1.ADOQuery2.SQL.Text:="update table1 set f = "+
 "LEFT(f, LEN(f) - 2) + "+quotedstr(" ") +" + RIGHT(f, 2) where key_field = "+
 quotedstr(form1.ADOQuery1.fieldbyname("key_field").AsString) ;
 form1.ADOQuery2.ExecSQL;
 form1.ADOQuery1.Next;
end;


 
Johnmen ©   (2004-09-24 12:41) [15]

>сергей1   (24.09.04 12:28) [14]

Что за разврат ?
:)


 
sniknik ©   (2004-09-24 12:43) [16]

> сергей1   (24.09.04 12:28) [14]
> типа такого (через дельфи) ...
ужас какой. тебя наверное специально нанимают когда нужно придать программе "задумчивости" для солидности. (ну типа, идут крутые расчеты...) ;о))


 
сергей1   (2004-09-24 12:58) [17]

sorry, в натуре погнал, я сначала думал что не все строки менять надо, а когда увидел что требуются все, стер условие where в первом запросе и опубликовал.


 
Johnmen ©   (2004-09-24 13:01) [18]

Да даже если "...не все строки менять надо...условие where в первом запросе..." всё равно - разврат...:)


 
сергей1   (2004-09-24 13:10) [19]

согласен, надо было сразу в update условие where воткнуть, у всех есть свои белые пятна.


 
Johnmen ©   (2004-09-24 13:15) [20]

Главное, чтобы черных поменьше :)



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

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.035 c
14-1096545934
pasha_golub
2004-09-30 16:05
2004.10.24
TheBat3.0


14-1096309493
Drakon
2004-09-27 22:24
2004.10.24
Опрос: Какой у вас принтер?


1-1097590259
Expl
2004-10-12 18:10
2004.10.24
файл hlp на русском языке


1-1097059800
Lonesome Wolf
2004-10-06 14:50
2004.10.24
Вывод информации в окно Explorer


1-1097067854
mRodion
2004-10-06 17:04
2004.10.24
Свойства с индексами