存储过程---从字符串向datetime转换时失败 20qiaoyongjun888]

发布时间:2014-1-1 0:09:47编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"存储过程---从字符串向datetime转换时失败 20qiaoyongjun888]",主要涉及到存储过程---从字符串向datetime转换时失败 20qiaoyongjun888]方面的内容,对于存储过程---从字符串向datetime转换时失败 20qiaoyongjun888]感兴趣的同学可以参考一下。

--------------------------------------------------------------------存储过程 ALTER proc [dbo].[proc_OA_FileSearch] @filename varchar(100), @accessoryname varchar(100), @username varchar(100), @pageindex int, @pagesize int, @begintime datetime, @endtime datetime as declare @sqlstr varchar(500) set @sqlstr='with newtable as (select * , ROW_NUMBER() OVER(order by fileid) as RowNumber from FileInfo where IfDelete=0' if(@filename<>'') begin set @[email protected]+' and FileName like [email protected] +'%'+''' ' end  if(@accessoryname<>'') begin set @[email protected]+' and FileId in (select FileId from AccessoryFile where AccessoryName like [email protected]+'%'+''''+')' end if(@username<>'') begin set @[email protected]+' and FileOwner in (select UserId from UserInfo where UserName like [email protected]+'%'+ ''''+ ')' end  if(@begintime<>'' and @endtime<>'') begin set @[email protected]+'and CreateDate between [email protected] +''''+ ' and '''+ @endtime +'''' end set @[email protected]+' )select * from newtable where RowNumber between '+ CAST((@pageindex-1)[email protected]+1 as varchar(100))+' and '+ CAST(@[email protected] as varchar(100)) exec(@sqlstr) -------------------------------------------------------------------------------------------------------- 1在数据库中测试 exec proc_OA_FileSearch '','','',1,10,'1900-1-1','2010-1-1' 没什么问题 2拿到界面测试的时候 填上日期的时候 总提示:从字符串向datetime转换时失败,查不出结果  3界面的日期格式没问题 请高手解决一下 谢谢谢谢 

if(@begintime<>'' and @endtime<>'') begin set @[email protected]+'and CreateDate between [email protected] +''''+ ' and '''+ @endtime +'''' end 你这样写的话,最好把参数那里,日期的类型也改成varchar

在应用程序(界面上)[email protected] datetime, @endtime datetime的值的格式是怎样的,是不是无法转换。 还有就是试试 set @[email protected]+'and CreateDate between '''+cast(@begintime as varchar(20))+''''+ ' and '''+cast( @endtime as varchar(20))+''''

一般我是把数据库的日期转换成nvarchar进行判断,不然容易出现日期字段包含时间信息造成判断的时候少了一个小时的问题。

引用楼主 qiaoyongjun888 的回复:--------------------------------------------------------------------存储过程 ALTER proc [dbo].[proc_OA_FileSearch] @filename varchar(100), @accessoryname varchar(100), @username varchar(100), @pagein…… between...and...之间可以是字符串类型的吗

引用 1 楼 js_szy 的回复:if(@begintime<>'' and @endtime<>'') begin set @[email protected]+'and CreateDate between [email protected] +''''+ ' and '''+ @endtime +'''' end 你这样写的话,最好把参数那里,日期的类型也改成varchar between...and...之间可以是字符串类型的吗


上一篇:SQL-DMO的主要用途及特色是? 40分,无满意结帖,结帖人meishow88]
下一篇:[推荐] SQL Server IO 子系统浅究 II 100obuntu]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款