MySQL string replace
-
06-09-2019 - |
Question
Hey, what's the most effective way to remove beginning and ending slashes from all rows in a particular column using MySQL?
Before:
/hello/world/
foo/bar/
/something/else
/one/more/*
After:
hello/world
foo/bar
something/else
one/more/*
...or maybe this should be done in PHP instead?
Solution
See TRIM()
UPDATE MY_TABLE SET my_field=TRIM(BOTH '/' FROM my_field);
OTHER TIPS
You could definitelyt make this work using the MySQL string functions but I think this would be best handled outside of the database using PHP or whatever programming language of your choice.
Your PHP option: (I'm assuming the fetched row is in $row
)
$row['Field'] = explode('/', $row['Field']);
//Remove the empty elements
$row['Field'] = array_filter($row['Field']);
$row['Field'] = implode('/', $row['Field']);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow