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

前端之家收集整理的这篇文章主要介绍了tsql – 用于生成slugs的T-SQL函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
快速检查是否有人知道或知道能够从给定的nvarchar输入生成slus的T-sql函数.即;

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

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

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

提前致谢.

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

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

解决方法

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

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

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

猜你在找的MsSQL相关文章