好贷网好贷款

存储过程 单引号的问题 50igelf]

发布时间:2016-12-4 12:02:03 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"存储过程 单引号的问题 50igelf]",主要涉及到存储过程 单引号的问题 50igelf]方面的内容,对于存储过程 单引号的问题 50igelf]感兴趣的同学可以参考一下。

存储过程中有一段 @LeaveTime datetime, as declare @sql varchar(5000); set @sql='select * from flight where [email protected]+' between flight.VALIDFROM and flight.VALIDTO go 运行时老是报错 Conversion failed when converting datetime from character string. 我改成下面也是报同样的错 set @sql='select * from flight where [email protected]+''' between flight.VALIDFROM and flight.VALIDTO

exec(@sql)

@sql='select * from flight where [email protected]+' between flight.VALIDFROM and flight.VALIDTO'

@LeaveTime datetime, as declare @sql varchar(5000); set @sql='select * from flight where '''+ Convert(Varchar, @LeaveTime, 120) + ''' between VALIDFROM and VALIDTO' go

set @sql='select * from flight where [email protected]+''' between flight.VALIDFROM and flight.VALIDTO' --最後加上引號

要做下類型轉換,並處理單引號。

@sql='select * from flight where [email protected]+''' between flight.VALIDFROM and flight.VALIDTO' exec(@sql)

掉了exec declare @sql varchar(5000); set @sql='select * from flight where '''+ Convert(Varchar, @LeaveTime, 120) + ''' between VALIDFROM and VALIDTO' EXEC(@sql)

fa_ge(鶴嘯九天) ( ) 信誉:100  2007-08-17 09:48:05  得分: 0          set @sql='select * from flight where [email protected]+''' between flight.VALIDFROM and flight.VALIDTO' --最後加上引號  mengmou()mengmou() ( ) 信誉:98  2007-08-17 09:48:16  得分: 0          @sql='select * from flight where [email protected]+''' between flight.VALIDFROM and flight.VALIDTO' exec(@sql) --------------- 兩位都沒轉換類型,@LeaveTime是datetime型。     

系统会进行隐式转换吧

declare @a datetime,@b datetime  select @a = '20070808 12:20:10',@b = '20070901' select 1 where '20070809' between @a and @b -----------  1 (1 row(s) affected)

原来是要先进行转换。解决了

mengmou()mengmou() ( ) 信誉:98  2007-08-17 09:51:06  得分: 0          系统会进行隐式转换吧    ----------- 會嗎? 最好先測試下。 :)

得,当我没说.ft

我理解错了

mengmou()mengmou() ( ) 信誉:98  2007-08-17 09:52:41  得分: 0          declare @a datetime,@b datetime  select @a = '20070808 12:20:10',@b = '20070901' select 1 where '20070809' between @a and @b -----------  1 (1 row(s) affected)      ---------- 不一樣的,注意你現在是在拼結動態SQL語句。

好了,结贴了

上一篇:sql2005分页+动态排序 80igelf]
下一篇:SQL映射出错 20分,无满意结帖,结帖人chenli985]

相关文章

相关评论