在水晶报表中将数字转换为填充字符串

时间:2013-01-20 15:42:21

标签: c# asp.net visual-studio-2010 sql-server-2008 crystal-reports

我正在使用水晶报告进行报道。我有一个小问题,实际上我的报告中有一个字段调用{id},它绑定到我的sql表的标识。它显示的值如 1,2,3,4 但我希望我的值在左侧用零填充,使其全部为7位数。 Ex- 0000001,0000002,0000003,0000004,而1234则应为0001234

我试过Right("0000"&{MyFieldToPad},7)但是它没有用,它说需要布尔值!

2 个答案:

答案 0 :(得分:1)

在SQL查询中而不是说

SELECT id 
  --, other columns
  FROM dbo.table
  WHERE ...
;

说:

SELECT RIGHT('0000000' + CONVERT(VARCHAR(12), id), 7)
  --, other columns
  FROM dbo.table
  WHERE ...
;

答案 1 :(得分:0)

如果{table.id}是数字,则需要使用totext()函数指定格式并将其转换为字符串:totext({table.id},"0000000")

如果{table.id}是一个varchar,那么你的样本公式应该可以工作:right("0000000"&{table.id},7)不知道为什么它会说你需要一个布尔值...我的猜测是你没有创建一个新的公式就像你应该这样,而是把那些代码放在它不属于的地方。尝试使用该代码从头开始创建一个新公式。