發現在(串)最大(INT)值列我有一欄是這樣的:與LINQ
sNumber Value (String)
A 10
b 50
c 90
d Hi
e !!!
f #123
我想搜索的是90最大的值,然後遞增1
在搜索時,我想忽略「Hi」和任何包含字符。
我成功地將數字增加1到數據類型int列。 這是下面的代碼。
var sQuery =
(from staff in db.Staffs where staff.sNumber >= 0
orderby staff.sNumber ascending select staff.sNumber)
.Distinct().ToList();
int counter = sQuery .Count;
snumber = sQuery [counter - 1];
dmlist.sNumber = snumber + 1;
此外,我能夠編寫MS SQL查詢的代碼來找出我的目標結果。 但無法將其轉換爲LINQ。
SELECT Convert(BIGINT, sNumber) As sNumber
FROM DATABASE_NAME
WHERE ISNUMERIC(sNumber) > 0
ORDER BY sNumber desc
是否有人可以指導我將此MS SQL查詢轉換爲LINQ或更好的想法,只獲得數字結果?
這比使用則IsNumeric其中有太多的洞是準確的好得多。做得好。 – 2015-02-09 22:05:04
對於只有負值與其他字符串混合的邊緣情況,如果解析失敗,我會返回'decimal.MinValue'。 – 2015-02-09 22:36:35