mysql - query to remove multiple characters from column content - mysql

Can I create a query using "replace" to remove more than one character\string from a column content ?
For example I have:
UPDATE table1 SET column1 = REPLACE(column1, '\r\n', '');
But what if I want to remove multiple characters or strings like:
<br />
<&nbsp>
<\r>
Is it possible to run this in single query ?

cascade it
UPDATE table1
SET column1 = replace(replace(REPLACE(column1, '\r\n', ''), '<br />',''), '<\r>','')

Related

Delete some characters from a column in MySQL

I have ONE column in MySQl table which contains this format:
https://open.spotify.com/track/AAABBBCCC
and I'd like to leave just AAABBBCCC, and not the entire column! The last parte is always the same.
Is that possible? Thanks and sorry for my english!
You can use SQL REPLACE function to do that.
UPDATE your_table_name
SET your_column_name = REPLACE(your_column_name, 'https://open.spotify.com/track/', '')
For more information you can read SQL statement to remove part of a string
Use REPLACE to delete the wanted text from your column:
UPDATE Table1 SET Column1 = REPLACE(Column1,'https://open.spotify.com/track/','')

How to remove all instances of a specific character from a column in MySQL

I have a database on MySQL where the data in the "Name" column contains unwanted carets (^). For example, a name might be "John^ Test^^". Is there any way to remove all these characters from the column?
May be this can help.
Update
Yourtable
Set
Name = replace(name, '^', '');
You could do something like this:
UPDATE table SET column = REPLACE(myColumn, '^', ' ')

MySQL TRIM to clean up table littered with spaces

I have a table with about 14,000 rows. One particular Column has a lot of blank spaces in the data.
I am a mySql Newbie and can't get the syntax correct to trim the white space.
Here is maybes guess ( i know the where close looks funny )
UPDATE MyTable
SET myColumn=TRIM(myColumn)
WHERE ID > 0
What is the syntax?
UPDATE `table` SET `col_name` = TRIM( `col_name` )

sql - remove char from all names of objects in database

I am trying to remove name_ part of each name in database, name_ is mistakenly inserted into db and now in 30 object names. if i remove manuelly from db, it takes me much time.
one example is: name_john. it should be john.
how can i delete this name_ from all names of all objects in db with some sql statement?
If it are column values you can do it with an update statement.
UPDATE table_reference
SET column_reference = SUBSTRING(column_reference, 6)
WHERE column_reference LIKE 'name\_%' ESCAPE '\'
If this is about column values that you need to modify, you could use the REPLACE() function like this:
UPDATE tablename
SET columnname = REPLACE(columnname, 'name_', '')
WHERE columnname LIKE '%name\_%' ESCAPE '\'
;
That would remove all entries of name_ in columnname. If there can be no more than one entry (or if only one needs to be removed) and its position is fixed, you could use the INSERT() function instead, which, despite its name, can also replace and delete substrings. This is how you could use it if the position of name_ was e.g. at the beginning:
UPDATE tablename
SET columnname = INSERT(columnname, 1, 5, '')
WHERE columnname LIKE 'name\_%' ESCAPE '\'
;

MySQL: Mass Replace using a regex?

I'm trying to replace all instances of   with a simple space EXCEPT if it's surrounded by DIV tags. I've tried tinkering with the NOT REGEXP and NOT RLIKE within the replace query, like this:
UPDATE table SET column = replace(column,NOT REGEXP '> <',' ');
But it gives a syntax error. Anyone have any suggestions?
How about three separate updates...
UPDATE table SET column = replace(column, '> <', '%%LOL$$');
UPDATE table SET column = replace(column, ' ', ' ');
UPDATE table SET column = replace(column, '%%LOL$$', '> <');
Something like this should work:
UPDATE table SET column = REPLACE(column, ' ', ' ') WHERE column NOT LIKE '%div> </%'