Показать сообщение отдельно

  #37  
Старый 26.10.2009, 17:12
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
С нами: 10143686

Репутация: 526
По умолчанию

На этот раз проверим как у нас обстоят дела с работой со строками.
Задача:
есть таблица с единственным полем, в котором записаны cтроки вида

Код:
sdfdf_efgregehmtri_ref_WEFEW_reg_regbb
На выходе нужно заменить все что находится между первым и последним символами "_" на "*".

Т.е. по вышеприведенной строке должно получится такое:
Код:
sdfdf_**************************_regbb
Вот небольшой дамп (хотя легче самим что нить набить (предварительно подумав), дабы отловить некоторые "подводные камни" и т.п.):
Код:
CREATE TABLE IF NOT EXISTS `tst` (
  `field` varchar(40) NOT NULL
);

INSERT INTO `tst` (`field`) VALUES
('aaaa_wd_regr_dew_bbbb'),
('asd_sed_fergf')
Реализации для конкретных СУБД могут немного отличаться, но суть от этого не меняется.

upd: естественно как всегда ответ - единственный запрос. Без рекурсий и тп. Так же никаких хп. Ну в общем вы поняли =)
 
Ответить с цитированием