What mysql functions are there (if any) to trim leading zeros from an alphanumeric text field?
Field with value "00345ABC" would need to return "345ABC".
MySQL TRIM() function returns a string after removing all prefixes or suffixes from the given string. Indicates that prefixes from both left and right are to be removed. Indicates that only leading prefixes are to be removed. Indicates that only trailing prefixes is to be removed.
The TRIM() function removes leading and trailing spaces from a string.
Press CTRL+1 (Format Cells shortcut). Select General on the Number tab, then press ENTER. No leading zeros for all numbers.
You are looking for the trim() function.
Alright, here is your example
SELECT TRIM(LEADING '0' FROM myfield) FROM table
TIP:
If your values are purely numerical, you can also use simple casting, e.g.
SELECT * FROM my_table WHERE accountid = '00322994' * 1
will actually convert into
SELECT * FROM my_table WHERE accountid = 322994
which is sufficient solution in many cases and also I believe is performance more effective. (warning - value type changes from STRING to INT/FLOAT).
In some situations, using some casting function might be also a way to go:
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html
If you want to update one entire column of a table, you can use
USE database_name;
UPDATE `table_name` SET `field` = TRIM(LEADING '0' FROM `field`) WHERE `field` LIKE '0%';
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With