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

本文关键字:转换 填充 字符串 数字 水晶 报表 | 更新日期: 2023-09-27 17:54:50

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

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

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

在您的SQL查询中,而不是说

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

说:

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

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

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