Entity SQL Language 五GroupBy、位处理函数、字符串处理函数

本文介绍如何使用EntitySQL进行数据分组(GroupBy)查询,并演示了多种内置函数的应用,如字符串处理函数及按位运算等。

GroupBy

对数据进行分组查询可以使用以下语法:

string entitySQL = @"SELECT o.OrderDate, Count(o.OrderID) AS Count 
FROM Orders AS o GROUP BY o.OrderDate
";
var query = db.CreateQuery<DbDataRecord>(entitySQL);

直接进行Group by操作

而进行分组时也可以使用Count、Max、Min、Sum、Avg这几个函数

使用方法与SQL没有什么不同,所以这里仅做介绍

函数

函数部分与一般的SQL有些不同这里给出一些例子

按位的与、或、异或操作:

db.CreateQuery<Int32>(@"BitwiseAnd(1,0)")//与 全1才1
db.CreateQuery<Int32>(@"BitwiseOr(1,0)")//或 有1即1
db.CreateQuery<Int32>(@"BitwiseXor(1,0)")//异或 不同为1

字符串处理(SampleQueries这部分的不少例子有错误,请大家见机更正,以下示例都为正确示例)

db.CreateQuery<Int32>("IndexOf('d','zhongdian')")//获取前面字符串在后面字符串中的位置,本例结果为6
db.CreateQuery<string>("Right('zhongdian',3)")//右取长度3的字符串,ian
db.CreateQuery<string>("Left('zhongdian',4)")//左取长度4的字符串,zhon
db.CreateQuery<string>("Length('abc')")//字符串长度,3
db.CreateQuery<string>("SUBSTRING('zhongdian',2,3)")//子字符串,索引2开始,取长度3,hon
db.CreateQuery<string>("LTrim(' text ')")//去除左边空格,“text ”
db.CreateQuery<string>("RTrim(' text ')")//去除右边空格,“ text”
db.CreateQuery<string>("Trim(' text ')")//去除两边空格,“text”
db.CreateQuery<string>("Replace('zhongdian','zhong','chong')")//替换,将参数1中的参数2换为参数3,chongdian
db.CreateQuery<string>("ToLower('Abc')")//转小写,abc
db.CreateQuery<string>("ToUpper('Abc')")//转大写,ABC
db.CreateQuery<string>("Reverse('Abc')")//反转,cbA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值