经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
过滤所有非数字的字符
来源:cnblogs  作者:Insus.NET  时间:2019/5/15 9:11:02  对本文有异议

从一字符串中,过滤所有非数字的字符,留下数字。循环所有字符,使用正则[0-9]来匹配。

 

  1. SET ANSI_NULLS ON
  2. GO
  3.  
  4. SET QUOTED_IDENTIFIER ON
  5. GO
  6.  
  7. -- =============================================
  8. -- Author: Insus.NET
  9. -- Create date: 2019-05-14
  10. -- Update date: 2019-05-14
  11. -- Description: 过滤所有非数字的字符
  12. CREATE FUNCTION [dbo].[svf_DigitalOnly] (
  13. @OriginalString NVARCHAR(MAX)
  14. )
  15. RETURNS NVARCHAR(MAX)
  16. AS
  17. BEGIN
  18. DECLARE @tStr NVARCHAR(MAX) = N'', @I INT = 1
  19. WHILE @I <= LEN(@OriginalString)
  20. BEGIN
  21. SET @tStr = @tStr + CASE WHEN SUBSTRING(@OriginalString, @I, 1) LIKE '[0-9]' THEN SUBSTRING(@OriginalString, @I, 1) ELSE N'' END
  22. SET @I = @I + 1
  23. END
  24.  
  25. RETURN @tStr
  26. END
  27. GO
Source Code

 

试试执行函数:

 

 

扩展知识,如果保留字母呢,那可以把上面函数中的正则表达式[0-9]改为[a-zA-Z]即可。

 

原文链接:http://www.cnblogs.com/insus/p/10865106.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号