如何用zerofill显示MySQL值

时间:2016-06-24 16:48:18

标签: javascript mysql

我在我的网站上使用MySQL,ajax和c#,我有一个显示此查询的输入页面:

Select MAX(Id) from table

然后在我的成功函数的ajax调用中我有这个:

var id = data.d + 1;

在我的空表中,我有身份和自动增量= 1的Id,所以var id = 0 + 1;所以我的输入值为1,然后在插入一行时更改。

问题:

我想在00001开始身份,我改变表并添加zerofill,所以现在我的第一行是000001,但是当我想在输入中显示下一个id时显示0,1,2或者其他但没有0&# 39; S

问题:

如何用0&#39来显示值?

2 个答案:

答案 0 :(得分:0)

您可以使用lpad(左侧边框)将数值显示为零填充文字:

Select lpad(MAX(Id),5,'0') from table;

修改:Javascript中的零填充值将转换为数字,结果将是常规数字(非零填充)

使用Javascript:

var id = ("00000" + (parseInt(data.d) + 1));
var zerofillid = id.substring(id.length -5); // =00002

您可以使用zerofillid在最后显示。

答案 1 :(得分:0)

在数据库标签上执行此操作并不是一个好主意。只需更改以适当格式从ajax获取的id字段。



function (data) { 
//Success Event
var id = data.d + 1;
id = pad (id, 6); // now id will be in the format you wanted.
 $('#ID').val(id); 
} 

function pad (str, max) {
  str = str.toString();
  return str.length < max ? pad("0" + str, max) : str;
}
/*********Like for example, the function will work as****//
pad("1", 6);    // => "000001" ....when id = 1
pad("12", 6);  // => "000012"  ....when id = 12
pad("123", 6); // => "000123"  ....when id = 123
pad("1234", 6); // => "001234"   ....when id = 1234
pad("12345", 6); // => "012345"  ....when id = 12345
pad("123456", 6); // => "123456"  ....when id = 123456
&#13;
&#13;
&#13;