gpt4 book ai didi

C# 无法从 SQL Server SELECT 转换计算列

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:45 25 4
gpt4 key购买 nike

我似乎无法找到一种从 SQL Server 2012 SELECT 语句转换计算列的方法。我正在计算一个名为 Yield 的简单值,它基本上是一个百分比。

SELECT 
TotalUnique,
TotalFail,
ISNULL(((TotalUnique - NullIf(TotalFail, 0)) / CONVERT(NUMERIC(38, 2), TotalUnique) * 100), 100) AS Yield
FROM
Products

对于 Yield 列,我如何通过阅读器检索它?我不断收到错误消息

Exception Details: System.InvalidCastException: Specified cast is not valid.

在线:

DBYield = (float)reader["Yield"]

我整天都在寻找可以为我提供线索的东西,但一直没有成功。

int DBTotalUnique = 0;
int DBTotalFailed = 0;
float DBYield = 00.0f;

while (reader.Read())
{
DBTotalUnique = (int)reader["TotalUnique"];
DBTotalFailed = (int)reader["TotalFail"];
DBYield = (float)reader["Yield"]
}

有人可以给我一个提示吗?

最佳答案

SQL 中的Numeric 等同于 .NET 中的Decimal(有关从 TSQL 到 .NET 的数据类型映射,请参阅 this article)。

尝试转换为十进制

关于C# 无法从 SQL Server SELECT 转换计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50535520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com