首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >0号没有输入到mysql数据库中

问0号没有输入到mysql数据库中
EN

Stack Overflow用户
提问于 2011-02-21 11:41:01
回答 4查看 305关注 0票数 1

我编写了一个脚本,将csv文件中的数据上传到mysql数据库pin_code中的一个列。将pin_code设置为varchar,并且在将任何值之前的数字0插入db时,没有将其输入到db中。

例如012345,输入为12345。pin_code字符串是6位数字。如果strlen为5,是否有任何mysql语句对这些列进行更改,以便在其前面添加0?数据库现在是活动的。感谢任何人的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-21 11:45:14

就像这样

代码语言:javascript
复制
UPDATE table_name SET pin_code=CONCAT('0',pin_code) WHERE LENGTH(pin_code)=5
票数 1
EN

Stack Overflow用户

发布于 2011-02-21 11:45:29

如果你想在PHP中使用前导零,你可以使用sprintf()。

代码语言:javascript
复制
$number = sprintf('%06d', $number);

I blogged about this once :)

票数 2
EN

Stack Overflow用户

发布于 2011-02-21 11:54:28

另一个MySQL解决方案:对可变长度字符串使用LPAD:

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5062038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档