Sql server 数据库中,纯SQL语句查询、执行 单引号问题。
在默认值情况下,
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语句查询、执行 单引号问题。的更多相关文章
- SQL Server 数据库中的几个常见的临界值
本文出处:http://www.cnblogs.com/wy123/p/6709520.html 1,SQL语句或者存储过程的最大长度(SQL字符串容量)是多少? 经常有人问,我的SQL语句是拼凑出来 ...
- 转:SQL SERVER数据库中实现快速的数据提取和数据分页
探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...
- .NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常)
.NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常) 前段时间项目使用一次性读去SQL Server中保存的电子文件的文件流然后返回给客户端保存下载电子文件, ...
- sql server数据库中char,varchar,nvarchar字段的区别
Char,varchar,nvarchar字段是sql server数据库中的三种字段类型.好多人在选择存储的时候不知道如何抉择,我给大家讲下这个三个字段类型的区别. Char(n)是长度为n个字节的 ...
- 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句
本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- 清空SQL Server数据库中所有表数据的方法
原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...
- 浅析SQL Server数据库中的伪列以及伪列的含义
SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个 ...
- SQL server数据库中的DateTime类型出现的问题
我们知道这个SQL server数据库中的DateTime类型是数据库应用开发中经经常使用到的一种数据类型.而C#语言中也有DateTime类型,尽管二者都是用来描写叙述时间的,可是它们的默认值是不同 ...
- C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]
C#同步SQL Server数据库中的数据 1. 先写个sql处理类: using System; using System.Collections.Generic; using System.Dat ...
随机推荐
- Keil 的调试命令、在线汇编与断点设置
上一讲中我们学习了如何建立工程.汇编.连接工程,并获得目标代码,但是做到这一 步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能 发现并解决,事实上,除了极简单的程序以外 ...
- 使用Sass和Compass组合写CSS
最近开始在尝试开始使用Sass来写CSS代码,刚开始虽然还是不太习惯用链式的方式写css,不过这是暂时的阶段. 如果你还不了解Sass,可以看之前发表过的文章来了解详情,Sass主要有下面这几种特性( ...
- JSch - Java实现的SFTP(文件上传详解篇)(转)
JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到 ...
- Features of Spring Web MVC
21.1.1 Features of Spring Web MVC Spring Web Flow Spring Web Flow (SWF) aims to be the best solution ...
- hdu 1042 N!(高精度乘法 + 缩进)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目大意:求n!, n 的上限是10000. 解题思路:高精度乘法 , 因为数据量比较大, 所以 ...
- Unity3d fur真实毛发渲染
放出效果图 使用的核心技术为曲面细分和置换贴图,Unity支持GPU的曲面细分,置换贴图为噪波,沿着法线拉伸即成为毛发.再随机减少最高点的高度产生毛刺的感觉 曲面细分之前有篇文章详细讲过 弄了前后ri ...
- BZOJ1057 [ZJOI2007]棋盘制作(极大化思想)
1057: [ZJOI2007]棋盘制作 Time Limit: 20 Sec Memory Limit: 162 MB Submit: 1848 Solved: 936 [Submit][Sta ...
- 找出数组中出现次数超过一半的数,现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数
找出数组中出现次数超过一半的数,现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数 #include<iostream>using namespace s ...
- db2官方SQLSTATE代码提示
官网地址:http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0 ...
- js 传参数
引用js实现传参数,然后在js文件里面动态加载东西,比如传递参数然后动态加载皮肤颜色,而我为了实现多语言,一般人家传递参数是为了区分版本用的还有清除js缓存问. <script src=&quo ...