SqlServer语句拼接时添加单引号


问题来源:今天在编写存储过程的时候,遇到了筛选条件时间段 beginTime  EndTime ,  直接使用这个变量拼接sql语句是不能识别的 ,必须添加单引号

现在写出来以备后用,(提醒自己别忘了这么简单的事)

declare @beginTime   nvarchar(50)
declare @EndTime   nvarchar(50)
declare @Sql   nvarchar(100)
set @Sql='select * from  Flow_TenderReviewApproval A where A.Times bewteen '''+@beginTime+''' and '''+@EndTime+''''
exec(@Sql)

顺便在记录一下: exec()  可以执行Sql或存储过程

 

 

******************************** 分界线*********************************

后来,我发现了一种更为简单的方式去避免字符串拼接,记录一下

无意中在网上看到还有这样的写法 所以对于单引号字符串拼接不熟悉的可以使用这种方式,效果是完全相同的,这样看起来更加通俗易懂,避免了字符串中的单引号拼接

declare @beginTime   nvarchar(50)
declare @EndTime   nvarchar(50)
declare @Sql   nvarchar(100)
select * from  Flow_TenderReviewApproval A where A.Times bewteen (select @beginTime) and (select @EndTime)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM