How to prepend a string to a column value in MySQL?
Asked Answered
S

5

146

I need a SQL update statement for updating a particular field of all the rows with a string "test" to be added in the front of the existing value.

For example, if the existing value is "try" it should become "testtry".

Skidmore answered 25/3, 2009 at 9:15 Comment(0)
C
298

You can use the CONCAT function to do that:

UPDATE tbl SET col=CONCAT('test',col);

If you want to get cleverer and only update columns which don't already have test prepended, try

UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';
Cortes answered 25/3, 2009 at 9:18 Comment(0)
W
18
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]
Wilber answered 25/3, 2009 at 9:18 Comment(1)
update TICKET set status_details = CONCAT(status _details,'abc') where ticket_id=75108; ERROR 1583 (42000): Incorrect parameters in the call to native function 'CONCAT'Brachy
D
13

Many string update functions in MySQL seems to be working like this: If one argument is null, then concatenation or other functions return null too. So, to update a field with null value, first set it to a non-null value, such as ''

For example:

update table set field='' where field is null;
update table set field=concat(field,' append');
Dirk answered 6/6, 2013 at 6:40 Comment(0)
F
7

That's a simple one

UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);
Fertilizer answered 25/3, 2009 at 9:18 Comment(1)
Correct up to the WHERE clause, where you only concat test to columns already starting with test. So: foo -> foo footest -> footest testfoo -> testtestfooPleven
A
1
  • UPDATE table_name SET Column1 = CONCAT('newtring', table_name.Column1) where 1
  • UPDATE table_name SET Column1 = CONCAT('newtring', table_name.Column2) where 1
  • UPDATE table_name SET Column1 = CONCAT('newtring', table_name.Column2, 'newtring2') where 1

We can concat same column or also other column of the table.

Adjuvant answered 14/3, 2014 at 12:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.