mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-03 23:10:54 +08:00
Updated 表达式函数 (markdown)
32
表达式函数.md
32
表达式函数.md
@@ -125,6 +125,38 @@ fsql.Select<T1, T2>()
|
||||
|
||||
> v1.6.0 利用自定义解析功能,增加 SqlExt.Rank().Over().PartitionBy(...)、MySql group_concat 常用函数,欢迎 PR 补充
|
||||
|
||||
FreeSql 默认集成了 SqlExt.cs 扩展解析方法:
|
||||
|
||||
| lambda | sql | 说明 |
|
||||
| --------------------------------------------------- | -------------------------------------------------- | -------------- |
|
||||
| SqlExt.IsNull(id, 0) | isnull/ifnull/coalesce/nvl | 兼容各大数据库 |
|
||||
| SqlExt.DistinctCount(id) | count(distinct id) | |
|
||||
| SqlExt.AggregateCount() | count(1) | 聚合函数 |
|
||||
| SqlExt.AggregateCount(id > 0) | sum(case when id > 0 then 1 else 0 end) | |
|
||||
| SqlExt.AggregateSum(id) | sum(id) | |
|
||||
| SqlExt.AggregateAvg(id) | avg(id) | |
|
||||
| SqlExt.AggregateMax(id) | max(id) | |
|
||||
| SqlExt.AggregateMin(id) | min(id) | |
|
||||
| SqlExt.GreaterThan | > | 大于 |
|
||||
| SqlExt.GreaterThanOrEqual | >= | 大于或等于 |
|
||||
| SqlExt.LessThan | < | 小于 |
|
||||
| SqlExt.LessThanOrEqual | <= | 小于 |
|
||||
| SqlExt.EqualIsNull | IS NULL | 是否为 NULL |
|
||||
| SqlExt.Case(字典) | case when .. end | 根据字典 case |
|
||||
| SqlExt.GroupConcat | group_concat(distinct .. order by .. separator ..) | MySql |
|
||||
| SqlExt.FindInSet | find_in_set(str, strlist) | MySql |
|
||||
| SqlExt.StringAgg | string_agg(.., ..) | PostgreSQL |
|
||||
| SqlExt.Rank().Over().PartitionBy().ToValue() | rank() over(partition by xx) | 开窗函数 |
|
||||
| SqlExt.DenseRank().Over().PartitionBy().ToValue() | dense_rank() over(partition by xx) | |
|
||||
| SqlExt.Count(id).Over().PartitionBy().ToValue() | count(id) over(partition by xx) | |
|
||||
| SqlExt.Sum(id).Over().PartitionBy().ToValue() | sum(id) over(partition by xx) | |
|
||||
| SqlExt.Avg(id).Over().PartitionBy().ToValue() | avg(id) over(partition by xx) | |
|
||||
| SqlExt.Max(id).Over().PartitionBy().ToValue() | max(id) over(partition by xx) | |
|
||||
| SqlExt.Min(id).Over().PartitionBy().ToValue() | min(id) over(partition by xx) | |
|
||||
| SqlExt.RowNumber(id).Over().PartitionBy().ToValue() | row_number(id) over(partition by xx) | |
|
||||
|
||||
> 以上是利用《自定义解析》实现的功能
|
||||
|
||||
## 子表Exists
|
||||
|
||||
```csharp
|
||||
|
||||
Reference in New Issue
Block a user