powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Работа со строками
6 сообщений из 6, страница 1 из 1
Работа со строками
    #32603630
Scream
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли одним update -скриптом заменить в Varchar -поле все символы, скажем, ' # ' на ' ' ?

Что-то типа
Код: plaintext
1.
update Table1 set VarcharField = <что тут написать - не знаю...>
where VarcharField LIKE '%#%'

Кстати: как указывать в тексте запроса служебные символы ( ENTER , TAB и т.д.)??

--
LET`S ROCK!
...
Рейтинг: 0 / 0
Работа со строками
    #32603636
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартными средствами - нет.
Через UDF можно.
...
Рейтинг: 0 / 0
Работа со строками
    #32603638
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока только с использованием своей UDF, ибо посимвольно к элементам строки обращаться нельзя пока что к сожалению.
Служебные символы - смотря какие. Если TAB и ENTER, то можно их прямо в тексте команды передавать:
Код: plaintext
1.
update Table1 set VarcharField ='zzz<табуляция>zzz
bbb';
...
Рейтинг: 0 / 0
Работа со строками
    #32603764
Scream
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через UDF и делал. Думал, может, чего-то не знаю и можно как-то легче...

GoldПока только с использованием своей UDF, ибо посимвольно к элементам строки обращаться нельзя пока что к сожалению.
Служебные символы - смотря какие. Если TAB и ENTER, то можно их прямо в тексте команды передавать:

То есть вместо символа '\t' ( Tab ) можно указывать <табуляция>, а вместо '\r', может, < Enter >???
Что-то у меня не получается...
Должны же быть стандартные способы указания символа, скажем, по его ASCII -коду!

--
LET`S ROCK!
...
Рейтинг: 0 / 0
Работа со строками
    #32603857
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет, вместо симвла \t <табуляция> писать нельзя.
Ты просто в команде передаешь текст и он записывается как есть. Если в нём есть переводы кареток и табуляция, то они в поле и запишутся. Правда есть проблема с одинарными кавычками - их надо удваивать.
Ещё я думаю что если передавать текст как параметр например из дельфей тех же или си, то можно на клиенте формировать строку с нужными символами и в базу она скорее всего в таком же виде и запишется, хотя я не проверял. Я имею ввиду:

INSERT INTO TABLE TAB (STR) VALUES (:TXT)

И потом на клиенте Query.ParamByName('TXT').AsString:=#1#2#3#4'jvddk';
...
Рейтинг: 0 / 0
Работа со строками
    #32603943
Scream
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldДа нет, вместо симвла \t <табуляция> писать нельзя.

Да я понял. Это шутка была

GoldТы просто в команде передаешь текст и он записывается как есть. Если в нём есть переводы кареток и табуляция, то они в поле и запишутся. Правда есть проблема с одинарными кавычками - их надо удваивать.
Ещё я думаю что если передавать текст как параметр например из дельфей тех же или си, то можно на клиенте формировать строку с нужными символами и в базу она скорее всего в таком же виде и запишется, хотя я не проверял. Я имею ввиду:

INSERT INTO TABLE TAB (STR) VALUES (:TXT)

И потом на клиенте Query.ParamByName('TXT').AsString:=#1#2#3#4'jvddk';
Ну, с через IBQuery ->Params я не пытался пока что... но через IBQuery ->SQL->Text ничего хорошего не выходит, особенно с ENTER `ом ('\r'): SQL имеет тип TStringList , который все символы \r, \n и \r\n преобразовывает в \r\n. И рассматривает как разделитель строк. И в этом вся проблема
Вот если бы можно было указывать ASCII -код символа.... Но это, похоже, мечты :(

Тем не менее - всем спасибо.

--
LET`S ROCK!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Работа со строками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]