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

Вниз

Как изменить значение всех строк с пом. 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.033 c
3-1095964823
Abuzer
2004-09-23 22:40
2004.10.24
RecNoв чем проблема?


14-1096595238
Думкин
2004-10-01 05:47
2004.10.24
С днем рождения! 1 октября


1-1097236916
Aleksandr.
2004-10-08 16:01
2004.10.24
Имеет ли функция CopyFile проблемы с многопоточностью и проч.?


6-1092036835
And
2004-08-09 11:33
2004.10.24
Как создать сессию?


1-1097000507
RedDragon
2004-10-05 22:21
2004.10.24
как мне сохранить переменные, не используя базы данных...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский