我编写了一个脚本,将csv文件中的数据上传到mysql数据库pin_code中的一个列。将pin_code设置为varchar,并且在将任何值之前的数字0插入db时,没有将其输入到db中。
例如012345,输入为12345。pin_code字符串是6位数字。如果strlen为5,是否有任何mysql语句对这些列进行更改,以便在其前面添加0?数据库现在是活动的。感谢任何人的帮助。
发布于 2011-02-21 11:45:14
就像这样
UPDATE table_name SET pin_code=CONCAT('0',pin_code) WHERE LENGTH(pin_code)=5发布于 2011-02-21 11:45:29
发布于 2011-02-21 11:54:28
另一个MySQL解决方案:对可变长度字符串使用LPAD:
mysql> SELECT LPAD('123', 6, '0');
+---------------------+
| LPAD('123', 6, '0') |
+---------------------+
| 000123 |
+---------------------+
1 row in set (0.00 sec)
mysql> select LPAD('12345', 6, '0');
+-----------------------+
| LPAD('12345', 6, '0') |
+-----------------------+
| 012345 |
+-----------------------+
1 row in set (0.00 sec)http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_lpad
https://stackoverflow.com/questions/5062038
复制相似问题