sql 用单引号附加值

sql Append for value with single quotes(sql 用单引号附加值)
本文介绍了sql 用单引号附加值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下查询

DECLARE @fNAME varchar(40) = 'Obrain'
DECLARE @query nvarchar(256)
SET @query = 'UPDATE TableName SET columnname = ''' + @fNAME + ''''
select @query

结果符合预期

UPDATE TableName SET columnname = 'Obrain' 

但是如果我用单引号改变输入@fname

But if i change input @fname with single quotes

    DECLARE @fNAME varchar(40) = 'O''brain'
    DECLARE @query nvarchar(256)
    SET @query = 'UPDATE TableName SET columnname = ''' + @fNAME + ''''
    select @query

我得到以下结果,其中单引号有问题

i get below result where am having issue with single quotes

UPDATE TableName SET columnname = 'O'brain'

  1. 我如何通过细微的更改修复此查询

  1. How do i fix this query with minor changes

有什么更好的方法可以做到这一点

What is the better way to do this

推荐答案

正确的方法是什么?使用 sp_executesql 和参数:

The right way to do this? Use sp_executesql and parameters:

DECLARE @fNAME varchar(40) = 'O''brain';
DECLARE @query nvarchar(256);
SET @query = '
    UPDATE TableName SET columnname = @fNAME'

EXEC sp_executesql @query, N'@fNAME varchar(40)', @fName=@fName;

这篇关于sql 用单引号附加值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
SSIS: Model design issue causing duplications - can two fact tables be connected?(SSIS:模型设计问题导致重复-两个事实表可以连接吗?)
SQL Server Graph Database - shortest path using multiple edge types(SQL Server图形数据库-使用多种边类型的最短路径)
Invalid column name when using EF Core filtered includes(使用EF核心过滤包括时无效的列名)
How should make faster SQL Server filtering procedure with many parameters(如何让多参数的SQL Server过滤程序更快)
How can I generate an entity–relationship (ER) diagram of a database using Microsoft SQL Server Management Studio?(如何使用Microsoft SQL Server Management Studio生成数据库的实体关系(ER)图?)