我想使用带有转义字符的引号.我能怎么做?
我在SQL Server中收到错误
字符串后面的未闭合引号.
我在varchar变量中编写sql查询但是我收到了这个错误:
字符串后面的未闭合引号.
我想用引号作为转义字符.
提前致谢
我在SQL Server中使用此函数来替换单引号.
但是,当我插入单引号时,它会抛出一个错误Replace(@strip,''','')):
Create Function [dbo].[fn_stripsingleQuote]
(@strStrip varchar(Max))
returns varchar
as
begin
declare @CleanString varchar(Max)
SET @var=(Replace(@strip,'',''))
return @var
end
Run Code Online (Sandbox Code Playgroud) 我们使用Visual Studio和数据库项目来生成我们的数据库.
我刚刚进行了一些数据库更改(包括添加一个名为的新表Correspondence)将这些更改导入到数据库项目中,并尝试部署(重建)数据库.
当我这样做时,我收到以下错误:
创建[dbo].[通信] ...消息1934,级别16,状态1,服务器(服务器名称),行1 CREATE TABLE失败,因为以下SET选项具有不正确的设置:'ANSI_WARNINGS,ANSI_PADDING'.验证SET选项是否正确,以便与计算列和/或筛选索引和/或查询通知和/或XML数据类型方法和/或空间索引操作的索引视图和/或索引一起使用.
任何人都可以向我解释这个错误,并帮我解决它?这是数据库项目用于创建此表的脚本.
PRINT N'Creating [dbo].[Correspondence]...';
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
CREATE TABLE [dbo].[Correspondence] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[WorkbookId] INT NOT NULL,
[ProviderId] UNIQUEIDENTIFIER NOT NULL,
[MessageThreadId] INT NOT NULL,
[MessageThreadType] AS ((1)) PERSISTED NOT NULL
);
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
PRINT N'Creating PK_Correspondence...';
GO
ALTER TABLE [dbo].[Correspondence]
ADD CONSTRAINT [PK_Correspondence] PRIMARY KEY CLUSTERED ([Id] ASC)
WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = …Run Code Online (Sandbox Code Playgroud) 我有一个使用字符串的 where 子句,
Where
pm.Alias = 'Toys'R'Us France'
Run Code Online (Sandbox Code Playgroud)
然而,部分字符串使用单引号,'R'
我如何将整个字符串包裹起来传递到我的Where子句中
我不能使用:
Where
pm.Alias = 'Toys''R''Us France'
Run Code Online (Sandbox Code Playgroud)
因为我需要封装整个字符串,所以我将在 Excel 中使用它来将其作为参数传递到我的查询中
如何将表名作为参数放入 SQL 查询中的安全方法是什么?您不能使用PreparedStatement将表名称作为参数。使用Statement连接字符串与动态表名执行查询是可能的,但不建议这样做,因为存在SQL注入的风险。做到这一点的最佳方法是什么?
我有以下查询,执行OPENQUERY:
DECLARE @DOMAIN NVARCHAR = N'XXX'
DECLARE @QUERY NVARCHAR(MAX)= '
SELECT * FROM OPENQUERY( [XX\XX],''
SELECT CONCAT(CONCAT([Firstname],''),[Lastname]) AS [Owner]
FROM [Employee] '')'
EXECUTE XX_executesql @QUERY
Run Code Online (Sandbox Code Playgroud)
当我执行时,出现以下错误:
消息 102,级别 15,状态 1,第 4 行 ')' 附近的语法不正确。消息 105,级别 15,状态 1,第 5 行 字符串 ')' 后的非封闭引号。
可能重复:
如何在sqlserver中转义单引号?
我在下面有一个脚本,从这个链接中删除数据库中的所有内容.我在这一行执行时会出错.
SET @statement = '
IF(@type = 'F') or (@type = 'C') or (@type = 'D') or (@type='F') or (@type='K')
Run Code Online (Sandbox Code Playgroud)
原因是因为单引号.我想知道如何解决此错误?
/*** drop (pretty much) everything before rebuilding the database ***/
DECLARE
OBJECTS CURSOR FOR SELECT
so.name,
so.type,
so.type_desc,
p.name AS parentName
FROM
sys.objects AS so
LEFT JOIN sys.objects AS p ON so.parent_object_id = p.object_id
WHERE
so.schema_id = 1
ORDER BY
CASE
WHEN so.type = 'F' THEN
0
WHEN so.type = 'TR' THEN
1
WHEN so.type …Run Code Online (Sandbox Code Playgroud) 我需要写一个查询,我需要找到'字符.
像Shivam一样 - 我需要找到'标记'.
select * from DTCountries where CountryCode like '%'%'
Run Code Online (Sandbox Code Playgroud) 我insert在SQL Server 2008中遇到此查询的问题
insert into Book values('B0000001I002','C# 3.0: A Beginner's Guide')
Run Code Online (Sandbox Code Playgroud)
如何让SQL忽略单引号C# 3.0: A Beginner's Guide?
我有一个表dbo.AccountTypes,后面有两列
AccountTypeId int not null
AccountTypeName varchar(50) not null
Run Code Online (Sandbox Code Playgroud)
我想为各列添加值为1和Partner的Capital A/c的行.我试过跟随插入命令,但它不起作用.
insert into dbo.AccountTypes (AccountTypeId, AccountTypeName)
values (1, "Partner's Capital A/c")
Run Code Online (Sandbox Code Playgroud)
请注意合作伙伴资本账户中的倒置逗号
但它失败了.有什么建议?
由于 '' 中的 ',下面的更新语句会引发错误
UPDATE Table
SET [Company Name] = 'O'Donald Media Inc'
WHERE [Company Name] = 'O'Donald Media Inc'
Run Code Online (Sandbox Code Playgroud)
有人有办法处理这个问题吗?
谢谢
我正在尝试运行SQL命令,但我收到错误消息" 非有效标识符".
如果我使用此命令,
EXEC xp_cmdshell N'mkdir C:\Users\PC\Desktop\Backup\1042012'
GO
Run Code Online (Sandbox Code Playgroud)
然后这个命令正常工作
但是,如果我使用此命令
DECLARE @CurrentDate varchar(50)
DECLARE @Path varchar(200)
DECLARE @Command varchar(200)
SET @CurrentDate = GETDATE()
SET @Path = N'C:\Users\PC\Desktop\Backup'
SET @Command = N'xp_cmdshell " ' + 'MKDIR' + ' '+ @Path + '\' + @CurrentDate + '" '
EXEC @Command
GO
Run Code Online (Sandbox Code Playgroud)
我收到了该错误消息.是否与正确声明字符串有关.