Sql server 数据库中,纯SQL语句查询、执行 单引号问题。

简介: 原文:Sql server 数据库中,纯SQL语句查询、执行 单引号问题。在默认值情况下, select 'abc',Titile from tb_Name;  ---输出内容 是abc; 如果想输出 单引号 'abc,需要使用select '''abc',Titile from tb_Name; ---这里用三个单引号'''abc; select '''abc''',Title from tbName;   输出内容是'abc';两边带有单引号; 谨记:如果字符串包含单引号,则需要在单引号前再增加一个单引号。
原文: 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(100)
declare Curb cursor for
    select name from sys.tables
    open Curb
        fetch next from Curb into @tbName
        while @@fetch_status=0
        begin
            --exec('update '+ @tbName+' set Name=Name+'''+@tbName+'''') --1
            --exec('update '+ @tbName+' set Name='''+@tbName+'''+Name') --2  列的名称需要修改,修改该哪一个列? 修改两个Name值即可。
            --exec('update '+ @tbName+' set Name='''+@tbName+'Mirror'+'''+Name') --3   --表名加Mirror
              exec('update '+ @tbName+' set Name=''Mirror'+@tbName+'''+Name')    --4  --Mirror加表名
              exec('update '+ @tbName+' set Name='''+'Mirror'+@tbName+'''+Name') --5   --Mirror加表名
            --exec('update '+ @tbName+' set Name=''' + @tbName + '''')  --6
            --exec('update '+ @tbName+' set Name=Name')                 --7
            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(255)
set @result = '';
SELECT  
    @result='UPDATE ' + name + ' SET name = ''' + name + '''+name'
from
    sys.tables;
exec(@result)   --只能执行一句  只能更改一个表。

 

 

 

目录
相关文章
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1831 152
|
SQL 监控 关系型数据库
一键开启百倍加速!RDS DuckDB 黑科技让SQL查询速度最高提升200倍
RDS MySQL DuckDB分析实例结合事务处理与实时分析能力,显著提升SQL查询性能,最高可达200倍,兼容MySQL语法,无需额外学习成本。
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1249 156
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
925 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
SQL XML Java
通过MyBatis的XML配置实现灵活的动态SQL查询
总结而言,通过MyBatis的XML配置实现灵活的动态SQL查询,可以让开发者以声明式的方式构建SQL语句,既保证了SQL操作的灵活性,又简化了代码的复杂度。这种方式可以显著提高数据库操作的效率和代码的可维护性。
698 18
|
SQL 人工智能 Linux
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
548 5
|
12月前
|
SQL 关系型数据库 MySQL
(SQL)SQL语言中的查询语句整理
查询语句在sql中占了挺大一部分篇幅,因为在数据库中使用查询语句的次数远多于更新与删除命令。而查询语句比起其他语句要更加的复杂,可因为sql是数据库不可或缺的一部分,所以即使不懂,也必须得弄懂,以上。
562 0