-1

我正在使用水晶报表进行报告。我有一个小问题,实际上我的{id}报告中有一个字段调用绑定到我的 sql 表的标识。它显示像1,2,3,4这样的值,但我希望我的值在左边用零填充,使其总共有 7 位数字。例如0000001,0000002,0000003,0000004 ,对于 1234,它应该是 0001234

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

4

2 回答 2

1

在你的 SQL 查询中而不是说

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

说:

SELECT RIGHT('0000000' + CONVERT(VARCHAR(12), id), 7)
  --, other columns
  FROM dbo.table
  WHERE ...
;
于 2013-01-20T16:06:28.857 回答
0

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

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

于 2013-01-20T18:34:35.853 回答