首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - MYSQL -选择前导零

Python - MYSQL -选择前导零
EN

Stack Overflow用户
提问于 2009-08-20 18:36:40
回答 5查看 1.8K关注 0票数 1

当使用Python并对MYSQL执行一条Select语句从一列中选择09时,0将被删除,并且只打印9。

有没有办法拉出所有的数字,也就是包括前导零?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-20 18:40:12

几乎可以肯定的是,您的查询、表定义或您正在使用的ORM中有一些东西认为列是数字,并将结果转换为整数。您必须将列定义为字符串(everywhere!)如果你想保留前导零。

编辑:服务器上的ZEROFILL不会删除它。Python将整数列视为Python整数,没有前导零和句号的列。您必须将列类型更改为VARCHAR,在Python语言中使用类似于"%02d" % val的内容,或者在查询中放置一个CAST(my_column AS VARCHAR)

票数 4
EN

Stack Overflow用户

发布于 2009-08-20 18:47:26

MySQL在列定义中支持以下内容:

代码语言:javascript
复制
CREATE TABLE MyTable (
  i TINYINT(2) ZEROFILL
);

INSERT INTO MyTable (i) VALUES (9);

SELECT * FROM MyTable;

+------+
| i    |
+------+
|   09 | 
+------+
票数 3
EN

Stack Overflow用户

发布于 2012-10-18 16:18:01

最好的选择是按照Eevee的建议使用CAST,但您必须使用CAST ( ur_field AS CHAR(2) ),因为转换为varchar有此问题,如本文所述

How to convert from varbinary to char/varchar in mysql

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

https://stackoverflow.com/questions/1308038

复制
相关文章

相似问题

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