gpt4 book ai didi

sql-server - SQL Server 2008 r2 - T-SQL LIKE 或 PATINDEX 匹配 A-Z、0-9、连字符、句点、下划线和波形符以外的字符

转载 作者:行者123 更新时间:2023-12-02 22:29:44 26 4
gpt4 key购买 nike

请帮我编写一个 PATINDEX 或 LIKE 语句来匹配以下字符其他:

  • A-Z、0-9、连字符 (-)、句点 (.)、下划线 (_) 和波形符 (~)

我计划在带有 nvarchar(200) 输入的标量 UDF 中使用它,它通过以下方式处理输入:

  1. 将不匹配的字符替换为连字符 (-)
  2. 将出现的两个连字符 (--) 替换为单个连字符 (-)
  3. 删除前导和尾随连字符 (-)
  4. 返回处理后的输入

这将用于创建 SEO 友好 URL 的一部分,例如/my-seo-Friendly-url-1。除了模式匹配部分之外,我对做这个 UDF 非常有信心。类似正则表达式的东西让我很困惑!请帮忙。

感谢您提前提供的帮助。

最佳答案

可能最好在您的应用程序中完成,但是

SELECT PATINDEX('%[^-a-zA-Z0-9.~_]%', @YourString COLLATE Latin1_General_BIN)

应该在 TSQL 中执行

关于sql-server - SQL Server 2008 r2 - T-SQL LIKE 或 PATINDEX 匹配 A-Z、0-9、连字符、句点、下划线和波形符以外的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com