您的位置:首页 > 数据库

工作笔记——sqlserver引号的运用

2016-04-18 10:24 169 查看
一.

  sqlserver引号问题:因为要使用远程连接,所以sql语句要用单引号括起来

SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 数据库.dbo.表名')


  远程连接详细代码在以前博客中介绍http://www.cnblogs.com/xiaoguangit/p/5383659.html

  

  在使用条件查询时习惯对字符串用了双引号

SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 数据库.dbo.表名 where name="User1"')


  结果报错

链接服务器"192.168.***.***"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "无法完成延迟准备。"。
消息 8180,级别 16,状态 1,第 1 行
无法预定义语句。
消息 207,级别 16,状态 1,第 1 行
列名 'User1' 无效。


  这里说是"列名'User1'无效",查询资料后发现,sqlserver对字符都是使用单引号,双引号用在比如 两个单词组成的表名(表名为person.look)或多个字符的字段(列名为name.sex)等.

  所以,代码更改为:

SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 数据库.dbo.表名 where name=''User1''')


  执行正确
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: