0
替換字符串值I都包含下面的字符串的列名:與LINQ
string colsToSelect;
此字符串包含列名(例如:COL1 + COL2 + COL3 + COL4 + COL5或COL1 + COL3),並在這些列有數值。
我正在使用它從數據庫中獲取所有這些列的總數。
SELECT " + colsToSelect + " AS totalVolume " + "FROM myTable
但是我需要添加nvl(col1,0)到每個列,因爲那些列可能包含null。
我已經achived這樣的:
colsToSelect = colsToSelect.Replace("+", "+nvl(");
colsToSelect = colsToSelect.Replace("+", ",0)+");
colsToSelect = "nvl(" + colsToSelect;
colsToSelect = colsToSelect + ",0)";
這給了我nvl(col1, 0) + nvl(col2, 0)
等。但我不知道是否有實現這一目標的一個更好的辦法,可能與LINQ或SQL?
我的解決方案是沒有任何好轉:'colsToSelect.Split( 「+」);''然後.ForEach()'預掛起「 nvl(「和append」,0)「並將它們連接在一起。沒有比你擁有的更好的了。 ('colsToSelect.Split(「+」)。ForEach(c => return「+ nvl(」+ c +「,0)」)。ToString();' – Richard
爲什麼你的輸入作爲單個字符串進入一串字符串或其他數據結構? – Servy