【问题标题】:t-sql replacing double quotest-sql 替换双引号
【发布时间】:2010-11-18 06:46:31
【问题描述】:

我有一个像Replace(field,'\''','\"') 这样的 t-sql 语句,因为我有两个不同的结果 ''field1'' 和 "field2" 但是如果我认为这两个不同的结果相同并且想要将它们分组怎么办。我选择通过用第二种样式替换第一个双引号来对这两个进行分组,但尽管被替换,但它们不会被解释为相同类型的引号。

我在这里缺少什么??

已编辑:我正在尝试对文本相同但引号不同的数据进行分组,用户输入两个单引号“你好”和一个双引号“你好”,如果我有这两行我想显示他们作为一个“你好”,所以通过执行上面的语句我想我应该能够做到这一点,但即使没有斜杠它也不能正常工作。

【问题讨论】:

  • 您能详细说明一下吗?我完全不知道你在问什么以及你的数据是什么样的......

标签: tsql replace quotes


【解决方案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) ,'""', ''''''),'"', '')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 2018-09-23
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多