我试图串中的Oracle(版本8I)的柱解析为整数。

我通过Oracle.DataAccess库访问结果

我已经使用TO_NUMBER带着口罩的字符串转换为不带小数位的数字。的问题是,在的值的客户端代码正被检索为小数,而不是int。

有帮助吗?

解决方案

NUMBER列总是回来作为ODP.NET小数。为了解决这个问题,拉回来,作为一个OracleDecimal,其中有几个“Toxxxx”方法将该值映射到您所需要的本地.NET类型。

while (myOracleDataReader.Read())
{
    int x = myOracleDataReader.GetOracleDecimal(0).ToInt32();
}

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

其他提示

CAST(field AS integer)

TO_NUMBER 是你想要的东西,特别是TO_NUMBER('42', '99')版本。

可以总是开启小数成使用循环函数的整数(或将trunc或地板函数)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top