请帮我写一个 PATINDEX 或 LIKE 语句来匹配以下字符:
- AZ、0-9、连字符 (-)、句点 (.)、下划线 (_) 和波浪号 (~)
我计划在带有 nvarchar(200) 输入的标量 UDF 中使用它,它通过以下方式处理输入:
- 用连字符 (-) 替换不匹配的字符
- 将出现的两次连字符 (--) 替换为单个 (-)
- 删除前导和尾随连字符 (-)
- 返回处理后的输入
这将用于创建对 SEO 友好的 URL 的一部分,例如/my-seo-friendly-url-1
. 除了模式匹配部分,我对做这个 UDF 很有信心。类似正则表达式的东西让我感到困惑!请帮忙。
提前感谢您的帮助。