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

时间:2009-05-13 09:49:10

标签: oracle odp.net

我正在尝试将Oracle(版本8i)中的一列字符串解析为整数。

我通过Oracle.DataAccess库

访问结果

我已经使用带掩码的TO_NUMBER将字符串转换为没有小数位的数字。问题是客户端代码中的值被检索为小数而不是int。

4 个答案:

答案 0 :(得分:7)

CAST(field AS integer)

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:1)

TO_NUMBER就是您想要的,特别是TO_NUMBER('42', '99')版本。

答案 3 :(得分:0)

您始终可以使用round函数(或trunc或floor函数)将小数转换为整数