有什么mysql函数(如果有的话)从字母数字文本字段修剪前导零?
值为"00345ABC"的字段需要返回"345ABC".
您正在寻找trim()函数.
好的,这是你的榜样
SELECT TRIM(LEADING '0' FROM myfield) FROM table
小费:
如果您的值纯粹是数值,您也可以使用简单的铸造,例如
SELECT * FROM my_table WHERE accountid = '00322994' * 1
实际上会转换成
SELECT * FROM my_table WHERE accountid = 322994
这在很多情况下都是充分的解决方案,而且我相信性能更有效.(警告 - 值类型从STRING更改为INT/FLOAT).
在某些情况下,使用某些强制转换功能可能也是一种方法:
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html
如果要更新表的整个列,可以使用
USE database_name; UPDATE `table_name` SET `field` = TRIM(LEADING '0' FROM `field`) WHERE `field` LIKE '0%';
我相信你最好用这个:
SELECT TRIM(LEADING '0' FROM myField)