我有以下包含列名的字符串:
string colsToSelect;
该字符串包含列名(例如:col1+col2+col3+col4+col5 或 col1+col3)并且在这些列中有数值。
我正在使用它从数据库中获取所有这些列的总数。
SELECT " + colsToSelect + " AS totalVolume " + "FROM myTable
但是,我需要将 nvl(col1,0) 添加到每一列,因为这些列可能包含 null。
我是这样实现的:
colsToSelect = colsToSelect.Replace("+", "+nvl(");
colsToSelect = colsToSelect.Replace("+", ",0)+");
colsToSelect = "nvl(" + colsToSelect;
colsToSelect = colsToSelect + ",0)";
这给了我nvl(col1, 0) + nvl(col2, 0)
等等。但我想知道是否有更好的方法来实现这一点,可能使用 LINQ 或使用 sql?