如果长度小于6位,我正试图在数据表列值前添加零。
例如:我在数据表中有一个列“SRNumber”,其值为123,2345,56,3452等,并希望得到我的结果,如000123,002345,000056,034523。
注意:我想操纵Datatable中的数据,而不是在sql查询中检索数据。我已经看到了我们可以将前导零添加到字符串或变量的解决方案,但在mycase中我想为数据表列中的所有值添加。
答案 0 :(得分:1)
foreach (DataRow row in table.Rows)
{
row["SRNumber"] = row["SRNumber"].ToString().PadLeft(6, '0');
}
table.AcceptChanges();
这里,“SRNumber”是我添加前导零的列名。我希望这有助于某人。
答案 1 :(得分:0)
eddie_cat
说,
循环遍历值并更新必填字段
foreach(DataRow dr in mydatatable)
{
dr[myfield] = String.Format("{0:0000}", int.parse(dr[myfield]))
}
请注意,您应该首先将字符串转换为int。
如果int.parse(...)
为dr[myfield]
,我使用dbnull
的示例可能会抛出异常。
答案 2 :(得分:0)
我不确定您是在寻找SQL解决方案还是C#解决方案,所以我提供SQL,因为其他人已经为您提供了C#解决方案:
UPDATE MYTABLE
SET SRNumber = RIGHT('000000' + SRNumber,6)
WHERE len(SRNumber) < 6