MySQL строка заменить - PullRequest
       10

MySQL строка заменить

1 голос
/ 28 мая 2009

Эй, каков наиболее эффективный способ удаления начального и конечного слеша из всех строк в определенном столбце с использованием MySQL?

До:

/hello/world/
foo/bar/
/something/else
/one/more/*

После того, как:

hello/world
foo/bar
something/else
one/more/*

... или, может быть, вместо этого это должно быть сделано в PHP?

Ответы [ 3 ]

3 голосов
/ 28 мая 2009

См. TRIM ()

UPDATE MY_TABLE SET my_field=TRIM(BOTH '/' FROM my_field);
1 голос
/ 28 мая 2009

Ваш вариант PHP: (я предполагаю, что выбранная строка находится в $row)

$row['Field'] = explode('/', $row['Field']);
//Remove the empty elements
$row['Field'] = array_filter($row['Field']);
$row['Field'] = implode('/', $row['Field']);
1 голос
/ 28 мая 2009

Вы определенно не могли бы сделать эту работу, используя строковые функции MySQL , но я думаю, что это лучше всего обрабатывать вне базы данных, используя PHP или любой другой язык программирования по вашему выбору.

...