首页 > 其他 > 详细

获取字符串结尾的电话号码(案例)

时间:2019-06-21 15:21:25      阅读:132      评论:0      收藏:0      [点我收藏+]

问题来自:
技术分享图片

 

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

技术分享图片

 

技术分享图片
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:      Insus.NET
-- Blog:        https://insus.cnblogs.com
-- Create date: 2019-06-21
-- Update date: 2019-06-21
-- Description: 获取字符串结尾的电话号码
-- =============================================
CREATE FUNCTION [dbo].[svf_CutterPhone] 
(
    @source NVARCHAR(4000)
) RETURNS NVARCHAR(4000)
AS
BEGIN
    DECLARE @L INT = LEN(RTRIM(@source))
    DECLARE @phone NVARCHAR(4000) = N‘‘
    WHILE @L > 0
    BEGIN
        DECLARE @cutstr CHAR(1) = SUBSTRING(@source,@L,1)
        IF @cutstr LIKE %[^-0-9]%         
            BREAK;        
        ELSE        
            SET @phone = @cutstr + @phone    
        SET @L = @L - 1
    END
    RETURN @phone
END
Source Code

 

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

技术分享图片

 

技术分享图片
CREATE TABLE #tempData ([Addr] NVARCHAR(MAX))

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


SELECT [Addr], [dbo].[svf_CutterPhone]([Addr]) AS [phone] FROM #tempData
Source Code

 

获取字符串结尾的电话号码(案例)

原文:https://www.cnblogs.com/insus/p/11064685.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!