今天公司项目中遇到了一个需求,要求提取用户电话号码字段中的所有电话信息。

由于该字段在项目最初设计中没有严格控制数据质量,导致用户在输入时包含了很多非电话的信息,如用户名字等(136 **** **** 张san)

要求提取出当中的136********

思路:创建函数,依次判断每个字符的ASCII码是否在[0,9]中,提取该部分内容。

Create Function USF_ExtractNumeric
(@inputStr nvarchar(50)
)
Returns nvarchar(50)
AS
BeginDeclare @outputStr nvarchar(50)Set @outputStr = ''If ISNUMERIC(@inputStr) = 1BeginReturn @inputStrEndDeclare @I IntSet @I = 1While @I <= Len(@inputStr)BeginIf ASCII(SUBSTRING(@inputStr,@I,1)) <= 57 and ASCII(SUBSTRING(@inputStr,@I,1)) >= 48BeginSet @outputStr = @outputStr + SUBSTRING(@inputStr,@I,1)EndSet @I = @I + 1EndReturn @outputStr
End

测试结果:

转载于:https://www.cnblogs.com/Niko12230/p/6377799.html

SQL Server提取字段中的所有数字相关推荐

  1. SQL Server 提取字符串中的纯数字

    一.如何提取字符串中的纯数字 SQL语句如下(示例): select a,substring(a,patindex('%[0-9]%', a), patindex('%[0-9][^0-9]%', a ...

  2. SQL SERVER 提取字符串中数字

    对一个字符串进行提取,获取其中数字部分,方法如下: IF OBJECT_ID('DBO.GET_NUMBER') IS NOT NULLDROP FUNCTION dbo.GET_NUMBER; GO ...

  3. SQL server关联字段中出现中英文括号导致数据翻倍

    今日开发过程中遇到的一个小问题,稍不注意会引起数据翻倍. 以下是例子数据,可以看到了一个是中文括号,一个是英文括号. 该表进行自连接,这两条数据会出现四条. 原因: 表的字符集是Chinese_PRC ...

  4. sql server 替换字段中的部分字符,替换指定字符的方法

    例如:将列date中1124改成1120, 20111124 改成20111120 update tab set date = replace(date,'1124','1120') where 条件

  5. SQL SERVER 提取字符串中字母

    对一个字符串进行提取,获取其中字母部分,方法如下: IF OBJECT_ID('DBO.GET_ENSTR') IS NOT NULLDROP FUNCTION dbo.GET_ENSTR; GO C ...

  6. SQL SERVER 查询表字段中是否有汉字

    SELECT * FROM TB WHERE COL LIKE N'%[吖-咗]%' 转载于:https://www.cnblogs.com/JinweiChang/p/10592787.html

  7. columnproperty server sql_导出SQL Server数据库表中字段的说明/备注

    时 间:2013-02-18 09:09:11 作 者:摘 要:导出SQL Server数据库表中字段的说明/备注 正 文: 打开SQL企业管理器 ,找到你要导出用户表字段信息的那个数据库 ,点击工具 ...

  8. SQL Server 将一个表中字段的值复制到另一个表的字段中

    原文:SQL Server 将一个表中字段的值复制到另一个表的字段中 具体方法如下 一:update 表2 set (要插入的列名)= select 表1.某一列 from 表1 left jion ...

  9. SQL判断字段中是否存在数字、汉字、字母、英文

    --1.判断是否存在汉字 select * from 表名 where 列名 like '%[吖-座]%'--2.判断是否存在汉字以外的其他字符 select * from 表名 where 列名 l ...

  10. SQL SERVER的字段类型说明

    SQL SERVER的字段类型说明 1.SQL SERVER的数据类型 数据类型是数据的一种属性,表示数据所表示信息的类型.任何一种计算机语言都定义了自己的数据类型.当然,不同的程序语言都具有不同的特 ...

最新文章

  1. 擦地机器人修理_不要智障机器人,擦地机器人就选iRobot,干湿两擦用了就知道...
  2. 11g RAC OCR,VOTING DISK存储全部损坏,利用自动备份,恢复OCR,VOTING DISK到新存储。...
  3. python集合应用场景_python 集合的应用
  4. 机器学习接口和代码之 线性回归
  5. 手游传奇刷元宝_传奇手游 平民制霸刀刀爆元宝!
  6. 【ES6(2015)】Promise
  7. 径向基(Radial basis function)神经网络、核函数的一些理解
  8. SAP License:ERP的实施要点
  9. 746.使用最小花费爬楼梯
  10. OPENNLP——java的NLP工具
  11. 《罗辑思维》让知识交融做爱
  12. OpenCv中 width 和 widthStep的区别
  13. 常见电商模式B2B、B2C、C2B、C2C、O2O
  14. uIP TCP Server 运行机制分析
  15. 移动平台动画设计的12个原则
  16. VUE进阶篇Part9(render函数)
  17. 如何压缩图片jpg大小?怎么缩小jpg大小kb?
  18. EtherCAT 之邮箱
  19. 用matlab画玫瑰花函数,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神...
  20. 【Vue3】电商网站吸顶功能

热门文章

  1. mybatis在oracle数据库中获取主键
  2. SpringBoot Starter自动装配的原理
  3. 【渝粤教育】国家开放大学2018年春季 7406-22T金融统计分析 参考试题
  4. 【渝粤教育】国家开放大学2018年春季 0680-21T会计基础知识 参考试题
  5. 【渝粤教育】广东开放大学 形成性考核 (29)
  6. 【5分钟 Paper】Deep Reinforcement Learning with Double Q-learning
  7. Tensorflow官方文档学习理解 (三)-MNIST
  8. 怎样的学术导师是好导师(Nature)
  9. matlab中K=[K,temp]含义
  10. 拼装html字符串的最快方法