我正在使用水晶报表进行报告。我有一个小问题,实际上我的{id}
报告中有一个字段调用绑定到我的 sql 表的标识。它显示像1,2,3,4这样的值,但我希望我的值在左边用零填充,使其总共有 7 位数字。例如0000001,0000002,0000003,0000004 ,对于 1234,它应该是 0001234。
我试过Right("0000"&{MyFieldToPad},7)
但它不起作用,它说它需要布尔值!
我正在使用水晶报表进行报告。我有一个小问题,实际上我的{id}
报告中有一个字段调用绑定到我的 sql 表的标识。它显示像1,2,3,4这样的值,但我希望我的值在左边用零填充,使其总共有 7 位数字。例如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 ...
;
如果 {table.id} 是数字,则需要使用该totext()
函数指定格式并将其转换为字符串:totext({table.id},"0000000")
如果 {table.id} 是一个 varchar,那么你的示例公式应该可以工作:right("0000000"&{table.id},7)
不知道为什么它会说你需要一个布尔值......我的猜测是你没有像你应该那样创建一个新公式,而是把它它不属于的代码。尝试仅使用该代码从头开始创建新公式。