加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

tsql – 用于生成slugs的T-SQL函数?

发布时间:2020-12-12 06:44:57 所属栏目:MsSql教程 来源:网络整理
导读:快速检查是否有人知道或知道能够从给定的nvarchar输入生成slus的T-SQL函数.即; “Hello World” “hello-world” “This is a test” “this-is-a-test” 我有一个C#函数,我通常用于这些目的,但在这种情况下,我有大量的数据要解析并变成slug,因此在SQL Server
快速检查是否有人知道或知道能够从给定的nvarchar输入生成slus的T-SQL函数.即;

“Hello World” > “hello-world”
“This is a test” > “this-is-a-test”

我有一个C#函数,我通常用于这些目的,但在这种情况下,我有大量的数据要解析并变成slug,因此在SQL Server上执行它更有意义,而不是必须传输数据电线.

顺便说一句,我没有远程桌面访问框,所以我不能运行代码(.net,Powershell等)对它

提前致谢.

编辑:
根据要求,这里是我通常用来生成slugs的函数:

public static string GenerateSlug(string n,int maxLength)
{
    string s = n.ToLower();                
    s = Regex.Replace(s,@"[^a-z0-9s-]","");              
    s = Regex.Replace(s,@"[s-]+"," ").Trim();             
    s = s.Substring(0,s.Length <= maxLength ? s.Length : maxLength).Trim();             
    s = Regex.Replace(s,@"s","-"); 
    return s;
}

解决方法

您可以使用 LOWERREPLACE执行此操作:
SELECT REPLACE(LOWER(origString),' ','-')
FROM myTable

对于列的批量更新(代码根据origString列的值设置slug列:

UPDATE myTable
SET slug = REPLACE(LOWER(origString),'-')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读