sql 中的 转义符

jason_liu24 2015-10-24 01:00:49
/**** date_Park 数据导入 ****/

delete from date_Park where [Date] = @date

--VehicleIn
set @sql = 'insert into date_Park(VehicleIn,[Date]) '
set @openquery = 'select VehicleIn,tm from openquery([ACS_PARKING],''select COUNT(1) VehicleIn,CONVERT(varchar(12),crdtm,23) as tm from ACS_Parking20000.dbo.Tc_UserCrdtm
where convert(varchar(12),crdtm,23) between '''''+@date+''''' and '''''+@date+''''' and inorout = 0 and (userTypeid = 1 or userTypeid = 6)
group by CONVERT(varchar(12),crdtm,23)'')'

exec (@sql+@openquery)

百度过转义符的使用,反复思考还是不理解为啥@date 前后会有5个单引号,烦请前辈指点。
...全文
381 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 版主 2015-10-24
  • 打赏
  • 举报
回复
字符串要用单引号包起来,如果字符串本身就含有单引号,要用 2 个单引号表示 1 个单引号。 你把你最终拼接成的 sql 语句,print 一下,一看就明白。

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧