Entity SQL Language 五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