我正在使用水晶报告进行报道。我有一个小问题,实际上我的报告中有一个字段调用{id}
,它绑定到我的sql表的标识。它显示的值如 1,2,3,4 但我希望我的值在左侧用零填充,使其全部为7位数。 Ex- 0000001,0000002,0000003,0000004,而1234则应为0001234 。
我试过Right("0000"&{MyFieldToPad},7)
但是它没有用,它说需要布尔值!
答案 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)
不知道为什么它会说你需要一个布尔值...我的猜测是你没有创建一个新的公式就像你应该这样,而是把那些代码放在它不属于的地方。尝试使用该代码从头开始创建一个新公式。