【问题标题】:Select specific ASCII characters and replace in SQL选择特定的 ASCII 字符并在 SQL 中替换
【发布时间】:2012-11-09 01:28:25
【问题描述】:

问题 - 可以将 Char() 设置为 32 到 44 等 ASCII 代码的范围/集合吗?

我想运行一个查询来做这个尝试做的事情。

SELECT REPLACE([COLUMN],CHAR(32-44,'-')
FROM TABLE 

但我这不起作用。我的原因是可读性/极客性以及缩短 15 替换嵌套深度查询或创建具有 15 个值的新表。

【问题讨论】:

  • regexp怎么样?
  • 会调查的。正在查看PATINDEX,但要澄清一下,我正在尝试用- 替换所有特殊字符,而无需嵌套替换或制作表格以供参考。
  • REPLACE([COLUMN],CHAR(32|33|34|35|36|...,'-') 最多可以工作 15 个值,在 16 日它会中断。关于 15 个结果。再次跑了〜百万结果,它开始在 50 左右失败
  • 问题是,如果超过 16 会怎样.....?
  • 你看过 CLR 吗?您可以轻松地创建一个内联函数来满足您的要求。

标签: sql sql-server-2008 replace char ascii


【解决方案1】:

不适用 - 有很多方法可以达到最终结果,但似乎无法为 ASCII 字符选择一个数字范围。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2014-01-22
    • 2013-01-29
    • 2013-01-30
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多