在oracle中将字符串转换为整数

JDu*_*ley 4 oracle odp.net

我试图将Oracle(版本8i)中的一列字符串解析为整数.

我通过Oracle.DataAccess库访问结果

我已经使用TO_NUMBER掩码将字符串转换为没有小数位的数字.问题是客户端代码中的值是以十进制而不是int的形式检索的.

Aar*_*els 3

在 ODP.NET 中,NUMBER 列始终以小数形式返回。为了解决这个问题,请将其作为 OracleDecimal 拉回,它有几个“Toxxxx”方法可以将值转换为您需要的本机 .NET 类型。

while (myOracleDataReader.Read())
{
    int x = myOracleDataReader.GetOracleDecimal(0).ToInt32();
}
Run Code Online (Sandbox Code Playgroud)

(如果上面的代码不是 100% 正确,请原谅我,因为我家里没有安装 ODP.NET。)