【发布时间】: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