get; set; }Select id, (0.0) AS price from Product
“ExceptionMessage”:“从物化的'System.Decimal‘类型到可空的'System.Double’类型的指定强制转换无效。”另外,我不想更改c#的代码,为了解决这个问题,我想更改Sql的代码(而不是c#)
这可以使用下面的查询来模拟: SELECT 1/3 as foo FROM DUAL 当oracle数据是Decimal类型,并且数据中的精度超过了Oracle decimal中的小数位数时,就会出现问题主要的问题是reader.GetValue(i)会这样做,所以你无法控制它在内部抛出这个错误的事实。我实际上有一个变通的办法,我会把它作为一个答案发布出来,因为我在过去已经多次遇到这个问题了,而网络上还没有一个好的答案。
我在转换VARCHAR2信息时遇到了一些困难,比如:
select cast('-111.21' as NUMBER) from dual
select cast('-111.21' as decimal) from dualselect cast('111.21' as decimal) from dual