2010-09-14 230 views
2

我有一个带有自动增量zerofill ID号的表。当我查询数据时,ID将丢失其前导零(即“000529”返回为“529”)。有没有办法保留前导零,或者甚至在查询语句中生成它们?我知道我可以使用STRPAD在PHP中生成它们,但对于我正在使用的特定项目,我希望检索数据库中的数据。mysql中的前导零zerofill int字段在查询时不显示

+0

这可能是PHP是蒙上这些ID的为整数。 – Mchl 2010-09-14 18:19:56

+0

他们在这里被保存,所以你需要提供更多关于你如何连接,查询和可能投射的信息(确保你找回字符串,而不是整数)。 'mysql'&'PDO'将在这里“开箱即用”的快速测试中保留它们。 – Wrikken 2010-09-14 18:24:02

+0

SELECT ID,名称标题,'个人资料'类型,日期从进口WHERE名称LIKE'%mi%' UNION ALL SELECT id,casename,'matter'type,date_opened date FROM s_matters WHERE casename LIKE'%mi%' UNION ALL SELECT cid AS id,name title,'call'type,date FROM s_calls WHERE name LIKE'%mi%' UNION ALL SELECT id,subject title,'event'type,start_date date FROM s_events WHERE subject LIKE'%mi% ' ORDER BY date DESC LIMIT 20 – Evan4623 2010-09-14 19:44:22

回答

6

使用功能LPAD()来显示的数字(左)用零填充:

SELECT LPAD(529, 6, '0') AS padded; 
+0

或者尝试:SELECT CONVERT(field, CHAR) – Jerry 2017-02-28 12:31:39