![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
sql replace странно работает
Jord © (2013-04-11 11:12:00)СУБД: DBISAM
Делаю replace по полю name
UPDATE item SET name = REPLACE(LCASE('БК') WITH 'Бк' IN LCASE(name));
Поле name имеет значения:
name
----
Пиджак Stefanel
Куртка Apriori
Юбка Oltre
Юбка NTS
Платье Rinascimento
В результате получается:
name
----
пиджак stefanel
куртка apriori
юБка oltre
юБка nts
платье rinascimento
Почему все значения стали в нижнем регистре?
Задача, написать 2 запроса, первый из которых делает replace с учетом регистра, второй без учета регистра.
Jord (2013-04-11 15:02:00) [1]Просто сама функция по дефолту с учетом регистра работает
Jord (2013-04-11 14:56:00) [2]Но хотелось бы сделать все если это возможно sql-запросом
Jord (2013-04-11 14:55:00) [3]
> Как задача звучит?
Есть программа для работы с товарной базой магазина. Пользователь выполняет поиск товаров. Нужно предусмотреть операцию, которая бы позволяла изменять значения поля name для найденных товаров с учетом и без учета регистра.
Можно конечно пробежаться по датасету делая:
DS.Edit;
try
DS.FieldByName('name').AsString := StringReplace();
DS.Post;
except
DS.Cancel;
raise;
end;
Плохиш (2013-04-11 12:28:00) [4]
> Jord (11.04.13 11:29) [2]
Надо добавить where в запрос и заменять только в требуемых записях.
Ega23 (2013-04-11 11:34:00) [5]
> replace ведь сравниваем с учетом регистра, как не используя
> LCASE проверить без учета регистра?
Как задача звучит?
Ega23 (2013-04-11 11:31:00) [6]заменить lcase от 'БК' на 'Бк' в lcase от name
Т.е. заменить 'бк' на 'Бк' в lcase от name
при, например, Name = 'ЮБКА' lcase name = 'юбка', а после Replace - 'юБка'
Всё штатно.
Jord (2013-04-11 11:30:00) [7]replace ведь сравниваем с учетом регистра, как не используя LCASE проверить без учета регистра?
Jord (2013-04-11 11:29:00) [8]
> что написал то и получил.
> обновить name значением name в нижнем регистре, в котором
> БК заменено на Бк
Как тогда правильно написать запрос?
Медвежонок Пятачок (2013-04-11 11:18:00) [9]что написал то и получил.
обновить name значением name в нижнем регистре, в котором БК заменено на Бк