Thu*_*der 1 .net sql linq case where
我有一个SQL查询,我想转换为LINQ.我已将数据提取到datatable.I我很困惑如何编写查询的WHERE部分.条件取决于表中的列,如果col_Con为"G",则使用大于col_Val和30(任何值),否则如果col_Con为"L",则使用小于col_Val和30(任何值)的条件
我使用Sqlserver 2005作为SQL查询部分.
SELECT *
FROM Mytable
WHERE
CASE
WHEN col_Con= 'G' THEN
col_Val
ELSE
30
END
<=
CASE
WHEN col_Con= = 'L' THEN
30
ELSE
col_Val
END
Run Code Online (Sandbox Code Playgroud)
这是我的Linq的开始
//Mytable is a DataTable
var drs = from DataRow dr in Mytable.Rows
where
...
select dr;
Run Code Online (Sandbox Code Playgroud)
var drs = from DataRow dr in Mytable.Rows
where
(col_Con == 'G' ? col_Val : 30) <= (col_Con == 'L' ? 30 : col_Val)
select dr;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6556 次 |
| 最近记录: |