日期:2014-05-17  浏览次数:20372 次

新手问一下SQL存储语句写法技巧..
Set @Sql ='select GWJL.*,YHJL.UserName,YHJL.TrueName from HL_GW_Data_A_GWJL GWJL 
inner join HL_XT_Data_A_YHJL YHJL
on GWJL.UserID=YHJL.UserID
where GWJL.Pigeonhole=1'
if @DocumentType<>0
set @Sql = @Sql +' and GWJL.DocumentType='+str(@DocumentType)
IF @Title <> ''
SET @Sql = @Sql + ' AND GWJL.Title LIKE ''%' + @Title + '%'''
IF @StartDate <> ''
SET @Sql = @Sql + ' AND CONVERT(varchar(10), GWJL.AddDate, 120)>=''' + @StartDate + ''''
IF @EndDate <> ''
SET @Sql = @Sql + ' AND CONVERT(varchar(10), GWJL.AddDate, 120)<=''' + @EndDate + ''''
SET @Sql = @Sql + ' order by GWJL.AddDate Desc'
end
Execute(@Sql)
GO

这是别人写的拼接的多条件查询。。我想问的是 SQL语句的 ' 符号是怎么用的,什么时候一个 有时候两个,有没有什么技巧,因为感觉比较容易出错?

------解决方案--------------------
需转义保留'时就用两个,其他时候就用一个
------解决方案--------------------
'是SQL里的特殊字符,所以需要特殊处理。

在动态的SQL中 通常''代替一个。。。

这个估计需要找下资料你就会更明白