【问题标题】:Replace is not working for weird character替换不适用于奇怪的字符
【发布时间】:2018-11-13 00:52:03
【问题描述】:

我用UPDATE a SET GR_P = REPLACE(GR_P,'','') FROM mytable a替换东西。

但替换功能不适用于以下章程:

在查询分析器中它可以工作,但是当我使用 SSIS 执行 SQL 任务或 OLEDB 源时,它给了我错误:

没有指定连接管理器。

【问题讨论】:

  • 这是什么编程语言?
  • 不确定。此字符串来自 RTF 文件。
  • 但它是什么编程语言?这是 MySQL 吗?
  • PL/SQL。我们使用的是 sql server 2014。
  • PL/SQL 是甲骨文。 SQL Server 是微软。如果您使用的是 SQL Server 的过程扩展,那就是t-sql

标签: sql-server oracle replace plsql


【解决方案1】:

在 Toad 对抗 Oracle 中(因为那是你的标签之一),我发出了这个(按 ALT-12 获取女性符号),结果得到了 191。请注意,使用CHR(191) 选择它会显示一个倒置的问号。

select ascii('♀') from dual;

鉴于此,这是可行的,但它是 Oracle 语法,你的里程可能会有所不同。

UPDATE mytable SET GR_P = REPLACE(GR_P, CHR(191));

请注意,如果它不起作用,则该符号可能是另一个控制字符。您可能需要使用正则表达式来消除所有不在 a-zA-Z0-9 等中的字符。我怀疑您需要更新标签以获得更准确的答案。

也许这些信息无论如何都会有所帮助。请发回您发现的内容。

【讨论】:

  • 感谢您的回复!我编写了程序(使用替换代码)并在执行 SQL 任务中调用它。那行得通! OLEDB 连接管理器不理解那个字符..
  • 如果它对您有用,请将其标记为已接受以供将来的搜索者使用。谢谢,很高兴它有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
  • 2015-09-09
相关资源
最近更新 更多