InterBase - 将计算列转换为变量字符

时间:2016-09-12 09:23:53

标签: sql interbase

我正在尝试编写一个使用计算值的查询,然后我想将此计算值转换为字符串,以便我可以添加'%'到最后。

但是我没有成功完成以下查询:

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

1 个答案:

答案 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