t-sql 替换双引号
Posted
技术标签:
【中文标题】t-sql 替换双引号【英文标题】:t-sql replacing double quotes 【发布时间】:2010-11-18 06:46:31 【问题描述】:我有一个像Replace(field,'\''','\"')
这样的 t-sql 语句,因为我有两个不同的结果
''field1'' 和 "field2" 但是如果我认为这两个不同的结果相同并且想要将它们分组怎么办。我选择通过用第二种样式替换第一个双引号来对这两个进行分组,但尽管被替换,但它们不会被解释为相同类型的引号。
我在这里缺少什么??
已编辑:我正在尝试对文本相同但引号不同的数据进行分组,用户输入两个单引号“你好”和一个双引号“你好”,如果我有这两行我想显示他们作为一个“你好”,所以通过执行上面的语句我想我应该能够做到这一点,但即使没有斜杠它也不能正常工作。
【问题讨论】:
您能详细说明一下吗?我完全不知道你在问什么以及你的数据是什么样的...... 【参考方案1】:看看这段代码:
DECLARE @X varchar(20)
SET @X='''''Hello"'
PRINT @X
PRINT REPLACE(@X,'''''','"')
PRINT REPLACE(REPLACE(@X,'''''',''''),'"','''')
这是输出:
''Hello"
"Hello"
'Hello'
SQL Server 不会用斜杠转义引号,单引号用另一个单引号转义。这将打印一个 qoute:
print ''''
这将打印两个单引号:
print ''''''
【讨论】:
谢谢!我使用您的解决方案将双双引号替换为两个单引号,将双引号替换为单引号:replace(replace(left(itemf.[t_dsca],30) ,'""', ''''''),'"', '')
以上是关于t-sql 替换双引号的主要内容,如果未能解决你的问题,请参考以下文章