如何对字符串进行区间查询?

问题描述

documentNumber为string类型:数据为:201509001201509002201509003201511001201511002201511003201511004.....如何查询201509003-201511002之间的记录。我的想法是通过转为数值来处理,做法如下:varresult=(fromaindb_OA.VehicleMaintenanceRecordsjoinbindb_OA.VehicleDatasona.licensePlateequalsb.licensePlatejoincindb_OA.PayoffTablesona.documentNumberequalsc.documentNumberintoGrpfromgrpinGrp.DefaultIfEmpty()where(grp.receiptDate==null||a.leaveFactoryDate==null)orderbya.documentNumberdescendingselectnew{documentNumber=int.Parse(a.documentNumber),//单号为:string类型licensePlate=b.licensePlate,//车牌号vehicleOwner=b.vehicleOwner,//车主registrationDate=a.registrationDate,//登记(进厂)日期twoLevelMaintenance=a.twoLevelMaintenance,//二保maintenanceProject=a.maintenanceProject,//检查项目materialCost=db_OA.OutRecordTBs.Where(n=>n.documentNumber==a.documentNumber).Sum(n=>n.sellingPrice.HasValue?n.sellingPrice*n.outNumber:0),//配件金额settlementMark=db_OA.PayoffTables.Any(n=>n.documentNumber==a.documentNumber),//结算manHourCost=db_OA.PayoffTables.FirstOrDefault(n=>n.documentNumber==a.documentNumber).manHourCost,//工时费leaveFactoryDate=a.leaveFactoryDate,//出厂日期collectionAmount=grp.collectionAmount//收款金额}).ToList();varorderList=result.Where(p=>p.documentNumber>=s_documentNumber&&p.documentNumber>=e_documentNumber);错误提示为:LINQtoEntitiesdoesnotrecognizethemethod'Int32Parse(System.String)'method,andthismethodcannotbetranslatedintoastoreexpression.请高人指点。谢谢我的QQ:191971159

解决方案

解决方案二:
先Tolist再select
解决方案三:
documentNumber=int.Parse(a.documentNumber),//单号为:string类型应该是你强行把int型付给了string型导致,你可以在最后的Where条件里,才进行int转换,这里原样赋值就行
解决方案四:
documentNumber=int.Parse(a.documentNumber)改成documentNumber=Convert.ToInt32(a.documentNumber)试试
解决方案五:
a.documentNumber出现了非数字的字符了呗

时间: 2024-09-20 12:23:19

如何对字符串进行区间查询?的相关文章

thinkphp区间查询、统计查询与SQL直接查询实例分析_php实例

本文实例讲述了thinkphp区间查询.统计查询与SQL直接查询.分享给大家供大家参考.具体方法如下: 一.区间查询: 复制代码 代码如下: $data['id']=array(array('gt',4),array('lt',10));//默认关系是(and)并且的关系  //SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) )    $data['id']=array(array('gt',4),array('lt',10

Python检测字符串中是否包含某字符集合中的字符

  这篇文章主要介绍了Python检测字符串中是否包含某字符集合中的字符,需要的朋友可以参考下 目的 检测字符串中是否包含某字符集合中的字符 方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 代码如下: def containAny(seq,aset): for c in seq: if c in aset: return True return False 第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清

在Python中处理字符串之isdecimal()方法的使用

  这篇文章主要介绍了在Python中处理字符串之isdecimal()方法的使用,是Python入门学习的基础知识,需要的朋友可以参考下 isdecimal()方法检查字符串是否仅由十进制字符组成.此方法只存在于unicode对象. 注意:要定义一个字符串为Unicode,只需前缀分配'u'左引号.以下是示例. 语法 以下是isdecimal()方法的语法: ? 1 str.isdecimal() 参数 NA 返回值 如果字符串中的所有字符为十进制此方法返回true,否则返回false. 例子

php查询相似度最高的字符串的方法

 这篇文章主要介绍了php查询相似度最高的字符串的方法,涉及php操作字符串及数组实现相似度算法的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php查询相似度最高的字符串的方法.分享给大家供大家参考.具体如下: 根据传入的字符串和数组,返回数组中相似度最高的字符串 1. PHP代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function closest_word($input, $words) { $shortest

md5 16位二进制与32位字符串相互转换

 密码很多时候都会用 md5保存,并且很多时候都是16位二进制格式的md5,php 里面 md5($str, true) 可以很方便的获取.更多时候md5结果是一组32个字符组成的字符串,其实转换很简单   代码如下: <?php   $str = 'test'; $cm = md5($str); $bm = md5($str, true);   $cstr = implode(unpack('H*', $bm)); $bstr = pack('H*', $cm);     echo 'str:

PHP字符串的连接

 这篇文章主要介绍了PHP字符串的连接的简单实例,有需要的朋友可以参考一下 很多时候我们需要将几个字符串连接起来显示,在PHP中,字符串之间使用"点"来连接,也就是英文中的句号".",具体使用方式如下: 代码如下: <?php   //定义字符串   $str1 = "Hello World!";   $str2 = "Welcome to HutaoW's BLOG!";     //连接上面两个字符串 中间用空格分隔

ASP中一个字符串处理类(VBScript)

vbscript|字符串 这个类是用于处理字符串的,是老外写的,我把里面的功能和参数加了说明 使用方法: =============== test.asp================ <!--#include file="StringOperations.asp"--> <%dim strset str = New StringOperations test = str.toCharArray("check this out") respons

asp.net.想要实现一个文字字符串转换成MP3和wav格式的语音

问题描述 asp.net.想要实现一个文字字符串转换成MP3和wav格式的语音 2C 文字字符串转换成MP3和wav格式的语音文件并且存入数据库,请问如何实现.需要转换成音频文件后可以读出文字内容 解决方案 你需要一个与字符对应的音频库,就像电子琴.比如1对应声音多,2对应声音来,3对应声音咪--,还有长音,短音,4分,8分等等,当你输入一个字符串时,找到跟他对应的声音,就能实现准确的转换了.

c-关于C字符串数组格式化输出的一些小问题

问题描述 关于C字符串数组格式化输出的一些小问题 尝试写了一个输入输出文件和小程序,因为出问题的就只有这两行代码,所以没有把其他代码贴上来 最初代码是这样的 head[][5] char head[][5] = { "id", "name", "age", "grade" }; fprintf ( input_file, "%st%st%st%sn", head[0], head[1], head[2],