作者Trader5566 (一定要暱稱嗎)
看板C_Sharp
標題[問題] 使用.Compute("max( )")出現詭異結果
時間Sun Sep 8 06:57:31 2013
我有一個datatable,其中一欄是"VOL",使用
int maxLavel = Convert.ToInt32(flow.Compute("max(VOL)", string.Empty));
來取VOL這欄的最大值,
當VOL裡面的值是0~6XXX時,
結果得出來的數字只能是"一千以下的最大數",
例如:
VOL
---
6102
940
1642
245
那得到的maxLavel會是940,
接著嘗試修改VOL的值,倘若是1642,940,9999,245
卻又可以得到9999,
另外,如果同樣都是四位數,如1234,4567,6789,9876
也可以得到9876,
所以很納悶的是,當同時有三位數和四位數去取max的時候,
好像過某個臨界值之前,會取一千以下的最大數,過了之後才會取四位數的最大數,
不曉得板上有高手知道這是為甚麼嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.182.132
1F:→ regionbbs:你的 VOL 欄位是什麼型別? 09/08 09:00
2F:→ Trader5566:是string 09/08 09:57
3F:→ soup514:你的回覆給了答案 字串排序和數字排序 當然不一樣 09/08 10:51
4F:→ soup514:多加1個數字欄位 或select時就先轉number 09/08 10:52
5F:→ Trader5566:感恩 來try try看 09/08 11:22