[ОТВЕТИТЬ]
Опции темы
26.07.2013 09:03  
Ринат
Добрый день, операторы при занесении в карточку товара не редко копируют наименование в СМ из других источников. В результате появились косяки - при получении данных запросом в sql и выводе его в Excel в наименовании появляются символы табуляции (к сожалению не смог не прикрепить к сообщению, ни загрузить в хранилище скриншот).
Подскажите как можно выбрать в базе эти карточки и заменить скриптом данные символы на пробелы.
 
26.07.2013 09:18  
konst
Возможно вы немного заблуждаетесь - эти символы появляются если использовать шаблоны названий товаров...
и я думаю их лучше в самой БД не трогать...
а при выводе результата использовать:
вариант 1 - короткое наименование товара - как правило там ничего лишнего нет
вариант 2 - использовать
Код:
REPLACE (NAME, CHR (9), '')
 
"Спасибо" konst от:
26.07.2013 09:23  
OlegON
в наименовании табуляция появляется при использовании шаблонов. удалять в базе ее не надо - шаблоны эти самые поедут.
для вывода без табуляции надо использовать что-то вроде
Код:
select replace(c.name, chr(9),' ') from supermag.smcard c;
P.S. долго же я добирался написать :)
 
"Спасибо" OlegON от:
26.07.2013 10:02  
Ринат
Проблема в том что эти "косяки" появляются только в тех данных, которые копируют из других источников, такая проблема наблюдается при внесении названия карточки, а так же при занесении доп свойств в артикул. При выводе в эксель это выглядит как квадратик со знаком "?"
 
26.07.2013 10:03  
OlegON
Неважно, откуда они их берут и как выглядят потом. Проверьте, есть ли шаблоны на карточках... Если есть, это и ответ.
 
26.07.2013 10:22  
Ринат
ок, спасибо, работает
 
02.08.2013 12:26  
cb
Лучше уж так.
update smcard t
set shortname=trim(replace(replace(t.shortname, Chr(10),''), Chr(13),''))
,name=trim(replace(replace(t.name, Chr(10),''), Chr(13),''))
where --article in ('7077061','002621','1010101003')
replace(replace(t.shortname, Chr(10),''), Chr(13),'')!=shortname
or replace(replace(t.name, Chr(10),''), Chr(13),'')!=name
 
02.08.2013 12:35  
Troll
Цитата:
Сообщение от cb
Лучше уж так.
Это перенос строки, если что, а не табуляция.
 
02.08.2013 12:45  
cb
Это как образец. Если что подставить свое не сложно.
 
02.08.2013 12:51  
Troll
А чем этот образец лучше того, что выше? Просто табуляцию удалять нельзя, надо на пробел менять. Ну trim да, может и понадобится...
 
 


Опции темы



Часовой пояс GMT +3, время: 05:21.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.