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 ...
随机推荐
- 如何快速使用ECharts绘制可视化图表
1.在ECharts官网,下载ECharts的源码和示例文件. 2.解压缩下载下来的Echars压缩包,找到doc\example\www\echartsjs目录,将里面的js文件全部取出来,放到项目 ...
- java学习面向对象之父子构造函数初始化
在之前讲到java面向对象继承的时候,我们只讲到了两个比较重要的知识点,一个是父子类当中有同名的成员变量,这个时候,我们引入了super这个关键字来区分这两个同名成员变量,除此之外,我们还讲到了父子同 ...
- 参数化时按行读取txt文件,如何去掉换行符"\n"
参数化按行读取txt,每行默认自带了回车换行操作,导致脚本报错,故而按行读取时,需要去掉默认的'\n' #coding=utf-8 from selenium import webdriver imp ...
- Lowest Common Ancestor of a Binary Tree——Leetcode
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...
- iOS中懒加载
1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 ...
- HDOJ/HDU 1133 Buy the Ticket(数论~卡特兰数~大数~)
Problem Description The "Harry Potter and the Goblet of Fire" will be on show in the next ...
- asp json
<script language="JScript" runat="Server">function toObject(json) { eva ...
- Google改变生活
前言 前天,在图书馆,无意之中,发现这本书,特写博客来与各位前来下榻本园的博友们,分享和学习! 本博文的主要内容有: 参考此书.感谢韩梅编者,出于此,我写本博文为了方便日后自己的查阅使用和来我园的共 ...
- Drawing Lines - SGU 135(简单递推)
求N条直线最多能把一个平面分成几部分. 代码如下: ========================================================================== ...
- 406. Queue Reconstruction by Height
一开始backtrack,设计了很多剪枝情况,还是TLE了 ..后来用PQ做的. 其实上面DFS做到一半的时候意识到应该用PQ做,但是不确定会不会TLE,就继续了,然后果然TLE了.. PQ的做法和剪 ...