我正在尝试将Oracle(版本8i)中的一列字符串解析为整数。
我通过Oracle.DataAccess库
访问结果我已经使用带掩码的TO_NUMBER
将字符串转换为没有小数位的数字。问题是客户端代码中的值被检索为小数而不是int。
答案 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函数)将小数转换为整数