经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
获取字符串结尾的电话号码(案例)
来源:cnblogs  作者:Insus.NET  时间:2019/6/24 8:48:35  对本文有异议

问题来自:

 

以下是Insus.NET的解决方法,仅是截取字符串结尾的电话号码即可,写一个简的自定义函数:

 

  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5.  
  6. -- =============================================
  7. -- Author: Insus.NET
  8. -- Blog: https://insus.cnblogs.com
  9. -- Create date: 2019-06-21
  10. -- Update date: 2019-06-21
  11. -- Description: 获取字符串结尾的电话号码
  12. -- =============================================
  13. CREATE FUNCTION [dbo].[svf_CutterPhone]
  14. (
  15. @source NVARCHAR(4000)
  16. ) RETURNS NVARCHAR(4000)
  17. AS
  18. BEGIN
  19. DECLARE @L INT = LEN(RTRIM(@source))
  20. DECLARE @phone NVARCHAR(4000) = N''
  21. WHILE @L > 0
  22. BEGIN
  23. DECLARE @cutstr CHAR(1) = SUBSTRING(@source,@L,1)
  24. IF @cutstr LIKE '%[^-0-9]%'
  25. BREAK;
  26. ELSE
  27. SET @phone = @cutstr + @phone
  28. SET @L = @L - 1
  29. END
  30. RETURN @phone
  31. END
Source Code

 

有了此函数,网友的问题,实现如下:

 

  1. CREATE TABLE #tempData ([Addr] NVARCHAR(MAX))
  2. INSERT INTO #tempData ([Addr]) VALUES(N'龙沙区卜奎南大街(交通管理处对过) 0452-2228858'),
  3. (N'曲线小区6门市地下3,4号 18746016893'),
  4. (N'南岗区曲线街76号 86420040'),
  5. (N'南岗区理治街29号208 209 0451-82737507'),
  6. (N'南岗区淮河路365-8号 0451-82384075'),
  7. (N'香山路12-2号金源小区E栋1-5号层3号门市0451-55529958'),
  8. (N'望奎县五街二十九委29幢289号0455-6711616'),
  9. (N'软件园小区A-2栋8号5层501、502、503室0451-55652189'),
  10. (N'北大营圣源小区1号楼4,5号门市 0467-5066001'),
  11. (N'立新街三委(繁华大街325号)0455-4622932'),
  12. (N'中央大街95号 0451---56768888'),
  13. (N'卫生路西侧兴华建材大市场3号楼A1B1-A5B5 0455-6499999')
  14. SELECT [Addr], [dbo].[svf_CutterPhone]([Addr]) AS [phone] FROM #tempData
Source Code

 

补充,获取地址,可以参考下面这篇《获取字符串开始的地址(案例)https://www.cnblogs.com/insus/p/11065053.html

 

原文链接:http://www.cnblogs.com/insus/p/11064685.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号