【问题标题】:SQL Server replace multiple backslashesSQL Server 替换多个反斜杠
【发布时间】:2020-10-21 18:45:54
【问题描述】:

在 SQL Server 中,我有一列保存 pdf 文件的路径,如下所示:“\\\\path\\to\\file.pdf”,我想替换反斜杠以获得此:“\\路径\到\file.pdf。

我尝试在转义的反斜杠上使用 REPLACE,但它没有正常工作。

任何帮助将不胜感激。

【问题讨论】:

  • 请向我们展示您表中的实际路径数据。你真的有两个/四个文字反斜杠吗?

标签: sql-server string replace


【解决方案1】:

如果您想用 1 个反斜杠替换 2 个反斜杠,则可以使用 replace:

SELECT REPLACE('\\\path\\to\\file.pdf', '\\', '\')

返回

\\path\to\file.pdf

SQL Fiddle

【讨论】:

  • 尚不清楚此要求是一次性的还是需要多次运行。也不清楚是否总是有双倍的反斜杠,或者是否可以有不同的数量,例如,\\\\\\path\to\\\file.pdf。这是一个很好且有效的答案,但如果是这种情况,那么这个答案将不起作用。也许您可以多次循环代码以将所有反斜杠删除为单个反斜杠,然后使用 CONCAT 在左侧添加最后一个反斜杠?
猜你喜欢
  • 1970-01-01
  • 2012-04-14
  • 2012-06-16
  • 1970-01-01
  • 2010-09-11
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多