Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 在SQL中格式化计算字段_Sql Server 2008_Formatting - Fatal编程技术网

Sql server 2008 在SQL中格式化计算字段

Sql server 2008 在SQL中格式化计算字段,sql-server-2008,formatting,Sql Server 2008,Formatting,我正在使用SQLServer2008。我有一个计算字段-PercentChange,它被定义为舍入(100*(a-b)/b,2)。我的查询结构如下 Select x.* from ( *query goes here, PercentChange defined here* ) as x where x.Percentchange >50 问题是PercentChange字段被格式化为对象(!),我无法向其添加“%”符号。正如你可能猜到的,我不是这方面的专家。因此,是否有人可以建议一

我正在使用SQLServer2008。我有一个计算字段-PercentChange,它被定义为舍入(100*(a-b)/b,2)。我的查询结构如下

Select x.* from
(
 *query goes here, PercentChange defined here* 
) as x
where x.Percentchange >50

问题是PercentChange字段被格式化为对象(!),我无法向其添加“%”符号。正如你可能猜到的,我不是这方面的专家。因此,是否有人可以建议一种变通方法,将60.55的“百分比变化”显示为60.55%?

如果是SQL server,请使用此选项

Select cast(x.Percentchange as varchar) + '%', x.oteherfield, ...
from(
    *query goes here, PercentChange defined here* 
    ) as x
where x.Percentchange >50

或类似的其他方言。

最好在表示层(即在前端应用程序中)执行此操作。因为,一旦添加了
%
标记,它就变成了一个字符串,如果不再次进行字符串操作,您将无法将该字段用于任何计算目的。显然,这不是sql server的工作,而是表示层,无论如何,它正是您问题的答案。