如何删除前导零?
我在我使用的名为last_count的数据库中有一列填充了int。该数字具有很多0的基本格式,然后是实际的数字(例如000001489)。我需要摆脱数字之前的零,然后将它们显示在查询生成的表中'select last_count,query,job_id from twitterinblack46.job where job_id in('。$ job_id_all。')order by last_count desc;'如何删除前导零?
我正在寻找preg_replace,但它也删除了其他零(例如,如果数字是00001480,它回声148而不是1480)。我正在使用PHP。
做的最简单的事情是投值为整数:
select cast(col as int)
这将显示该号码没有前导零。
如果你需要的值作为一个字符串,你可以将它转换回为VARCHAR:
select cast(cast col as int) as varchar(255))
有没有办法通过PHP来做到这一点,而不是另一个SQL查询,因为我试图显示的查询已经显示了另外三列。 – Pstivala7 2013-02-23 00:31:11
@ Pstivala7。 。 。只需将查询中的列替换为表达式'cast(var
只要改变类型在PHP为int
// Your sql stuff
$stmt->bind_result($last_count);
while ($stmt->fetch()) {
echo "<tr>";
echo "<td>".intval($last_count)."</td>"; // Or use (int)$last_count
echo "</tr>";
}
这个怎么样?
preg_match("/[^0].*/",$number, $matches);
echo $matches[0];
几乎所有情况下都能正确运行,但是如果给定的数字是0或负数,它将分别返回一个空字符串和负数的绝对值 – 2013-02-23 01:21:59
出于好奇...为什么last_count被零填充? – 2013-02-23 01:23:25
我不确定,我只能访问数据库。我没有创建它。 – Pstivala7 2013-02-24 23:08:27