I have a database with a column containing phone numbers. I want to add plus(+) sign in the beginning of every phone number.
UPDATE Table SET Phone = CONCAT('+', Phone)
This is the query I’m using to insert any other character, but it doesn’t seem to work with + sign. It says 0 row(s) affected Rows matched: 4023 Changed: 0 Warnings: 0, which means nothing has changed.
Even if I do SET Phone = CONCAT('+91', Phone)
, only 91 is being inserted and not the plus sign.
Advertisement
Answer
I think I understood what’s going on here. Your Table
is probably using integer data type for Phone
column. In this case Phone = CONCAT('+91', Phone)
implicitly converts value to character type, adds leading “+” but then converts it back to integer type to store value.
You might want to do something like
ALTER TABLE `Table` MODIFY Phone Varchar(100);
(please choose column type accordingly)
I reproduced it here http://sqlfiddle.com/#!9/5b3a651/1