我正在尝试编写一个使用计算值的查询,然后我想将此计算值转换为字符串,以便我可以添加'%'到最后。
但是我没有成功完成以下查询:
select
a.Subjects, a.RequiredTime, b.HRS,
CAST(((b.HRS / a.RequiredTime)*100) as VARCHAR) as PercentageComplete
from
Subjects a
inner join
V_SUMMARYHOURSSUBJECT b on a.Subjects = b.Subject
这是查询生成的错误:
第1行出错动态SQL错误SQL错误代码= -104令牌未知 - 第2行,char 46)SQL
答案 0 :(得分:0)
当您想使用InterBase SQL从integer / numeric / double转换为字符串时;必须将字符串长度指定为CAST
函数的一部分,例如
select a.Subjects, a.RequiredTime, b.HRS,
CAST(((b.HRS / a.RequiredTime)*100) as VARCHAR(10)) as PercentageComplete
from Subjects a inner join V_SUMMARYHOURSSUBJECT b
on a.Subjects = b.Subject