Sql server Visual Studio(2017)SQL无法显示%sign

Sql server Visual Studio(2017)SQL无法显示%sign,sql-server,database,visual-studio-2017,pie-chart,Sql Server,Database,Visual Studio 2017,Pie Chart,我知道Oracle SQL和SQL Server之间存在差异。查询运行良好,结果显示良好,但当我想在饼图上显示它时,问题就出现了。我想这可能是Visual Studio的一些限制 以下是我的SQL语句: SELECT CAST(ROUND(CAST(COUNT(LoanAcNo) AS FLOAT) / 73 * 100, 1) AS VARCHAR) + '%' AS LoanPercentage, LoanType FROM Loan GROUP BY

我知道Oracle SQL和SQL Server之间存在差异。查询运行良好,结果显示良好,但当我想在饼图上显示它时,问题就出现了。我想这可能是Visual Studio的一些限制

以下是我的SQL语句:

SELECT 
    CAST(ROUND(CAST(COUNT(LoanAcNo) AS FLOAT) / 73 * 100, 1) AS VARCHAR) + '%' AS LoanPercentage,
    LoanType
FROM 
    Loan 
GROUP BY 
    LoanType;
我就是这样实现的:

 public DataSet ReadLoanByLoanType()
 {
        SqlConnection myConn = new SqlConnection(DBConnect);

        StringBuilder sqlStr = new StringBuilder();
        sqlStr.AppendLine("SELECT cast( round( cast ( count(LoanAcNo) as float)  / 73 * 100 , 1 ) as varchar ) + '%' as LoanPercentage , LoanType");
        sqlStr.AppendLine("FROM Loan");
        sqlStr.AppendLine("GROUP BY LoanType");

        SqlDataAdapter da = new SqlDataAdapter(sqlStr.ToString(), myConn);
        DataSet ds = new DataSet();
        da.Fill(ds);

        return ds;
    }

如果要从数据库下载值以包含在某些报表工具的饼图中,请不要通过在值上添加“%”将其转换为字符串

您的报告工具将期望图表中有一些数值,而不是字符串

SQL:


提示:将整数除以小数点后的常量(例如,I除以73.0而不是73)不是整数,而是让SQL使用浮点数进行计算-省去了将int转换为浮点数的麻烦/使SQL更短、更整洁

如果要从数据库下载值以包含在某些报表工具的饼图中,请不要通过在值上添加“%”将其转换为字符串

您的报告工具将期望图表中有一些数值,而不是字符串

SQL:


提示:将一个整数除以一个有小数点的常量(例如,I除以73.0而不是73)而不是一个整数应该让SQL使用浮点进行计算-省去了将int转换为浮点的麻烦/使SQL更短更整洁

尝试将%放入[]例如+'[%]”尝试将%放入[]例如+'[%]”尝试将%放入[]例如+'[%]”
    SELECT 
      round(count(LoanAcNo)/ 73.0 * 100.0, 1) as LoanPercentage,
      LoanType
    FROM Loan 
    GROUP BY LoanType;