在默认值情况下,

select 'abc',Titile from tb_Name;  ---输出内容 是abc;

如果想输出 单引号 'abc,需要使用select '''abc',Titile from tb_Name; ---这里用三个单引号'''abc;

select '''abc''',Title from tbName;   输出内容是'abc';两边带有单引号;

谨记:如果字符串包含单引号,则需要在单引号前再增加一个单引号。

exec('select * from tbName')  Sql语句两边有单引号'可以执行,没有时exec(select * from tbName)不能执行。

set @name='Name'; 
select @name from A123 ;  --1
select Name from A123;  --2
exec('select '+ @name+' from A123');  --3
exec('select '+ 'Name'+' from A123');  --4

在连接纯字符串中,'+'  单引号加号单引号  可以加在任何位置,这条规律方便引入变量的加入。exec('select '+ 'Name'+' from A123'); 可将'+'删除,变成exec('select Name from A123');或者exec('select'+' Name from A123');  效果一样,无本质区别。

以上四句执行语句中,2、3、4句执行结果是相同的,均等同于第2句;1执行语句等同于select 'Name' from A123;

use db_Test; --数据库名称需要修改
go
declare @tbName varchar()
declare Curb cursor for
select name from sys.tables
open Curb
fetch next from Curb into @tbName
while @@fetch_status=
begin
--exec('update '+ @tbName+' set Name=Name+'''+@tbName+'''') --
--exec('update '+ @tbName+' set Name='''+@tbName+'''+Name') -- 列的名称需要修改,修改该哪一个列? 修改两个Name值即可。
--exec('update '+ @tbName+' set Name='''+@tbName+'Mirror'+'''+Name') -- --表名加Mirror
exec('update '+ @tbName+' set Name=''Mirror'+@tbName+'''+Name') -- --Mirror加表名
exec('update '+ @tbName+' set Name='''+'Mirror'+@tbName+'''+Name') -- --Mirror加表名
--exec('update '+ @tbName+' set Name=''' + @tbName + '''') --
--exec('update '+ @tbName+' set Name=Name') --
fetch next from Curb into @tbName
end
close Curb
deallocate Curb

从第2行实现第五行代码,首先在加号附近加上 ' 字符串内容 '+  OR   +' 字符串内容 ' 。

根据第4、5行,在字符串中加入 '+' 对代码无影响,可以将其删除。

以上代码实现的功能,遍历数据库中的所有表,并依次在每一个表中执行更改语句,比如 --1中 将表中Name字段的内容加上表名。
如何在exec语句中加单引号?

写出原始语句  update  @tbName   set Name = Name + @tbName

首先首尾加单引号;声明的变量前面加 '+,后面加 +';最后看赋值部分,需要使用单引号包围声明的变量,需要使用两个单引号。

根据表名来输出"执行每个表的SQL语句"

USE db_Test;  --修改数据库名称
SELECT
'update' + name + ' set Title = ''' + name + '''+Title' as sql --name获取的是数据库中所有表的名称;--表名称+Title --修改Title(列名称)
from
sys.tables;
USE db_Test;  --修改数据库名称
SELECT
'update ' + name + ' set Title = ''' + name + '''+Title+''abc'''
from
sys.tables;
USE db_Test;  --修改数据库名称
SELECT
'update ' + name + ' set Title = ''abc' + name + '''+Title+''abc''' --Title是表中Title列中的内容,
from
sys.tables;
USE db_Test;
declare @result varchar()
set @result = '';
SELECT
@result='UPDATE ' + name + ' SET name = ''' + name + '''+name'
from
sys.tables;
exec(@result) --只能执行一句 只能更改一个表。

Sql server 数据库中,纯SQL语句查询、执行 单引号问题。的更多相关文章

  1. SQL Server 数据库中的几个常见的临界值

    本文出处:http://www.cnblogs.com/wy123/p/6709520.html 1,SQL语句或者存储过程的最大长度(SQL字符串容量)是多少? 经常有人问,我的SQL语句是拼凑出来 ...

  2. 转:SQL SERVER数据库中实现快速的数据提取和数据分页

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

  3. .NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常)

    .NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常) 前段时间项目使用一次性读去SQL Server中保存的电子文件的文件流然后返回给客户端保存下载电子文件, ...

  4. sql server数据库中char,varchar,nvarchar字段的区别

    Char,varchar,nvarchar字段是sql server数据库中的三种字段类型.好多人在选择存储的时候不知道如何抉择,我给大家讲下这个三个字段类型的区别. Char(n)是长度为n个字节的 ...

  5. 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句

    本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...

  6. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  7. 清空SQL Server数据库中所有表数据的方法

    原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...

  8. 浅析SQL Server数据库中的伪列以及伪列的含义

    SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个 ...

  9. SQL server数据库中的DateTime类型出现的问题

    我们知道这个SQL server数据库中的DateTime类型是数据库应用开发中经经常使用到的一种数据类型.而C#语言中也有DateTime类型,尽管二者都是用来描写叙述时间的,可是它们的默认值是不同 ...

  10. C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]

    C#同步SQL Server数据库中的数据 1. 先写个sql处理类: using System; using System.Collections.Generic; using System.Dat ...

随机推荐

  1. 【POI2003/2004 stage I】

    [原题在此] Let us consider a game on a rectangular board m x 1 consisting of m elementary squares number ...

  2. qt5使用curl实现文件下载的示例程序 good

    http://blog.csdn.net/xueyushenzhou/article/details/51702672#t3 http://download.csdn.net/detail/xueyu ...

  3. iframe详细用法

    <iframe>是框架的一种形式,也比较常用到. 例子1.<iframe width=420 height=330 frameborder=0 scrolling=auto src= ...

  4. oracle 安装, oem 不能正常使用,em安装失败、找不到dbconsole服务

    OracleDBControl启动失败Unable to determine local host from URL REPOSITORY_URL=http://your-url.co 通过emca创 ...

  5. Bluetooth LE(低功耗蓝牙) - 第一部分

    前言 在写这篇文章的时候,谷歌刚刚发布了Android Wear ,摩托罗拉也发布了 Moto 360 智能手表.Android Wear的API还是相当基本的,是很好的文档材料,而且还会不断的更新, ...

  6. [LeetCode#204]Factorial Trailing Zeroes

    Problem: Description: Count the number of prime numbers less than a non-negative number, n. Analysis ...

  7. 【转】Android ProgressDialog的使用2

    原文网址:http://www.cnblogs.com/hnrainll/archive/2012/03/28/2420908.html <?xml version="1.0" ...

  8. JavaScript高级程序设计9.pdf

    Number是数字值对应的引用类型 var numberObject=new Number(10); Number也重写了valueof().toLocaleString().和toString()方 ...

  9. Best Premium Private Proxy Service | Lime Proxies

    Best Premium Private Proxy Service | Lime Proxies undefined

  10. C#执行参数为游标 返回一个记录集的Oracle存储过程

    public DataTable SelectPay_Unit() { string returns = ""; DataTable objDataTable = new Data ...