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

Вниз

sql replace странно работает   Найти похожие ветки 

 
Jord   (2013-04-11 11:12) [0]

СУБД: 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 с учетом регистра, второй без учета регистра.


 
Медвежонок Пятачок ©   (2013-04-11 11:18) [1]

что написал то и получил.
обновить name значением name в нижнем регистре, в котором БК заменено на Бк


 
Jord   (2013-04-11 11:29) [2]


> что написал то и получил.
> обновить name значением name в нижнем регистре, в котором
> БК заменено на Бк


Как тогда правильно написать запрос?


 
Jord   (2013-04-11 11:30) [3]

replace ведь сравниваем с учетом регистра, как не используя LCASE проверить без учета регистра?


 
Ega23 ©   (2013-04-11 11:31) [4]

заменить lcase от "БК"  на "Бк" в lcase от name

Т.е. заменить "бк" на "Бк" в lcase от name

при, например, Name = "ЮБКА"  lcase name = "юбка", а после Replace - "юБка"

Всё штатно.


 
Ega23 ©   (2013-04-11 11:34) [5]


> replace ведь сравниваем с учетом регистра, как не используя
> LCASE проверить без учета регистра?


Как задача звучит?


 
Плохиш ©   (2013-04-11 12:28) [6]


> Jord   (11.04.13 11:29) [2]

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


 
Jord   (2013-04-11 14:55) [7]


> Как задача звучит?


Есть программа для работы с товарной базой магазина. Пользователь выполняет поиск товаров. Нужно предусмотреть операцию, которая бы позволяла изменять значения поля name для найденных товаров с учетом и без учета регистра.

Можно конечно пробежаться по датасету делая:


DS.Edit;
try
 DS.FieldByName("name").AsString := StringReplace();
 DS.Post;
except
 DS.Cancel;
 raise;
end;  


 
Jord   (2013-04-11 14:56) [8]

Но хотелось бы сделать все если это возможно sql-запросом


 
Jord   (2013-04-11 15:02) [9]

Просто сама функция по дефолту с учетом регистра работает



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1365109635
noname_06
2013-04-05 01:07
2014.02.09
Ищу примеры использования Сhromium Еmbedded Framework


15-1377527842
Дальний Восток
2013-08-26 18:37
2014.02.09
Наводнение на Дальнем Востоке


15-1377376202
Юрий
2013-08-25 00:30
2014.02.09
С днем рождения ! 25 августа 2013 воскресенье


2-1364643389
TStas
2013-03-30 15:36
2014.02.09
Как нажать кнопку в чужом Ворде?


1-1321596096
brother
2011-11-18 10:01
2014.02.09
TIniStream реальность?