选择c#中oracle表的最大值
本文关键字:最大值 oracle 选择 | 更新日期: 2023-09-27 18:17:14
我有一个OracleCommand选择类型NUMBER的最大值从oracle表在c#应用程序中使用oraclecconnection。当代码被执行时,我得到的值以M字母结尾!所以如果我们假设最大值是2544,那么我得到的最大值是2544M。
下面是代码:OracleCommand command = new OracleCommand("SELECT GREATEST(TA_Counts) FROM Test3.Trn_Sfd", Con2);
Con2.Open();
var returvalue = command.ExecuteScalar();
为什么value不作为2544 int值返回?
因为该值为decimal
。这是由于表中列的类型造成的。你可以通过这个表格来验证。如果您的数据类型是整数或浮点,阅读器返回的。net类型是decimal
。
Greatest不给你表的最大值:
SQL> with t as (
2 select 1 id, 2 value from dual union all
3 select 2 id, 4 value from dual
4 )
5 select GREATEST(id)
6 from t
7 /
GREATEST(ID)
------------
1
2
GREATEST
函数给出几个值中的最大值,如:
SQL> ed
Wrote file afiedt.buf
1 with t as (
2 select 1 id, 2 value from dual union all
3 select 2 id, 4 value from dual
4 )
5 select GREATEST(id, value)
6* from t
SQL> /
GREATEST(ID,VALUE)
------------------
2
4
你必须使用max函数:
SQL> ED
Wrote file afiedt.buf
1 with t as (
2 select 1 id, 2 value from dual union all
3 select 2 id, 4 value from dual
4 )
5 select max(id)
6* from t
SQL> /
MAX(ID)
----------
2
可能需要使用隐式转换:
(int)command.ExecuteScalar()
使用你需要的类型