为此,我有两个查询,如下所示:
SELECT someString
,replace(someString, Char(34), char(39)) as replacedString
FROM (SELECT concat(' abc ' , Char(34) ,' def ') as someString) as x
上面的查询运行良好,我得到了想要的结果。
然而,在第二个查询中,我没有得到想要的结果
Declare @var varchar(10)='ab''''cd'
select @var,REPLACE(@var,char(34),char(39)) as RepVAR
第二个查询无法将双引号替换为单引号,我无法找出原因。
发布于 2017-04-29 20:04:19
@Var
中没有双引号,因此您将得到相同的@var
try:
Declare @var varchar(10)='ab''''cd'
select @var,REPLACE(@var,char(39),char(34)) as RepVAR
发布于 2017-04-30 13:37:40
在SQL Server中,字符串用单引号('
)括起来。要在字符串中放入单引号,可以使用两个单引号。
'Why doesn''t this work?'
如果你想要两个单引号,那么每个引号都必须写成两个单引号。
'abc''''def'
因此,该字符串是abc
,后跟两个单引号,后跟def
。但两个单引号与双引号("
)不同。如果您想要一个带有双引号的字符串,只需编写双引号字符即可。
'abc"def'
https://stackoverflow.com/questions/43699811
复制相似问题