SQL 从字符串中提取数字

2023-10-31

 

一基础使用:

--声明一个nvarchar类型的变量并赋值
declare @Name nvarchar(50)
set @Name='我正在123学.习22.SQL中11.的一些函数'

--patindex函数返回所查内容在字符串中第一次出现的内容
print patindex('%在%',@Name) --此处会返回3

print patindex('%[0-9]%',@Name) --此处会返回4


--STUFF函数删除指定长度的字符在指定的起始点插入另一组字符
--格式 stuff(parameter,startindex,length,insertstr)
--个人意思:是将parameter中索引从startindex开始长为length的字符串替换为insertstr
print stuff(@Name,1,1,'被插') --此处会输出:被插正在123学.习22.SQL中11.的一些函数

print stuff(@Name,3,4,'被插') --此处会输出:我正被插学.习22.SQL中11.的一些函数

--只提取数字
while patindex('%[^0-9]%',@Name)>0
begin
set @Name=stuff(@Name,patindex('%[^0-9]%',@Name),1,'')
end

print @Name --此处会输出1232211

 

 

二、封装方法

create function dbo.GetNoFromStr(@str nvarchar(100))
  returns bigint
as
begin
   while patindex('%[^0-9]%',@str)>0
  begin
  set @str=stuff(@str,patindex('%[^0-9]%',@str),1,'')
  end
  return convert(bigint,@str)
end

 

//调用方式

select dbo.GetNoFromStr('25号')  as  result   //取出数字25

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 从字符串中提取数字 的相关文章

随机推荐

  • [OPENAI2021力作][CLIP: Connecting Text and Images]

    本文翻译自OpenAI官方博客 1 于2021年1月5日发布 0 前言 本博客是openAI的大佬们的全新作品 其提出了可以用于从自然语言监督信号中有效提取视觉信息的 名为CLIP的神经网络 CLIP可以被用于任何视觉分类的benchmar
  • docker K8s部署

    docker K8s部署 docker build t www aaa cn pro admin 20230202 1703 docker images docker login www aaa cn U username P passwo
  • 码云出现错误git@gitee.com: Permission denied (publickey). fatal: Could not read from remote repository. P

    第一步 重新生成ssh ssh keygen t rsa C 这里需要填写邮箱 我填写的是我的绑定主邮箱 我想其他邮箱也是可以的 只不过我没有测试 第二步 查看你生成的公钥 cat ssh id rsa pub 然后我们就可以看到我们的公钥
  • Glide:4.8.0基础使用

    参考 https blog csdn net mars314 article details 80653795 首先 添加依赖 implementation com github bumptech glide glide 4 8 0 ann
  • 微信小程序授权登陆页面

    1 在进入小程序的时候要判断是否有授权 如果没有授权 则要先授权之后 才能登陆到小程序的首页 刚开始 我把login页当作了小程序的首页 这样导致如果已经授权过 这个页面也会一闪而过 用户体验不好 捋了一下思路之后认为 应该把授权的判断放在
  • 华为OD机试 C++【 数据最节约的备份方法】

    描述 你有一堆文件需要备份 但你只有一些500MB的光盘 你的任务是弄清楚 为了备份所有文件 你最少需要多少张光盘 核心要点 每个文件的大小都是整数MB 而且不会超过500MB 文件不能被拆分来备份 给我数据 文件的大小 如 100 500
  • java基础练习题

    1变量 运算符和类型转换 1 1手动输入一个学生的成绩 对这个成绩进行一次加分 加当前成绩的20 输出加分后成绩 Scanner scan new Scanner System in System out println 请输入一个数字 i
  • [Codeforces] combinatorics (R1600) Part.5

    Codeforces combinatorics R1600 Part 5 题单 https codeforces com problemset tags combinatorics 1201 1600 1096B Substring Re
  • 【问答23】Linux移植:如何制作rootfs?

    粉丝问题 如何制作rootfs 安排 想直奔主题的 直接跳到第四章 一 分析 1 文件系统简介 理论上说一个嵌入式设备如果内核能够运行起来 且不需要运行用户进程的话 是不需要文件系统的 文件系统简单的说就是一种目录结构 由于 linux操作
  • python os.mkdir与os.makedirs递归创建目录

    os mkdir创建单层目录 usr bin python coding UTF 8 import os sys 创建的目录 path tmp home monthly daily hourly os mkdir path 0755 os
  • [ESP32C3填坑] AT指令不应答

    烧录固件 固件连接 发布的固件 ESP32 C3 ESP AT 用户指南 latest 文档 espressif com 然后选择 v2 4 2 0 ESP32 C3 MINI 1 AT V2 4 2 0 zip这个版本 再下载烧录软件 工
  • 外观模式(Facade)

    设计模式之外观模式 外观模式的作用 为复杂的系统提供高层的接口 程序这个东西总是会变的越来越大 随着时间的推移 程序中的类会越来越多 而且它们之间相互关联 这会导致程序结构也变得越来越复杂 随之也会使得我们在使用这些类之前 必须弄清楚它们之
  • 中文乱码的原因及解决方法

    1 我们常用的编码表 ASCLL 美国标准信息交换码 gt 用一个字节的7位可以表示 ISO8859 1 拉丁码表 欧洲码表 gt 用一个字节的8位来表示 GB2312 中国的中文编码表 GBK 中国的中文编码表的升级 gt 一个汉字用两个
  • TensorFlow实战练习2

    TensorFlow实现自编码器 自编码器可以使用自身的高阶特征编码自己 自编码器其实是一种神经网络 它的输入和输出是一致的 它借助稀疏编码的思想 目标是使用稀疏的一些高阶特征重新组合来重构自己 它的特点非常明显 第一 期望输入 输出一致
  • VS2019无法登陆解决办法

    文章目录 前言 1 vs登陆 2 解决 总结 前言 今天想看看c代码 打开vs2017 哦豁 登不进去 打开vs2019 哦豁 还是不行 1 vs登陆 到这里就登不进去了 2 解决 vs2019找到账户选项 将嵌入式Web浏览器改为系统We
  • Spring事务嵌套:业务场景事务2异常时需要事务2回滚事务1提交

    目录 1 改变事务2的传播方式REQUIRES NEW 2 异步调用 业务场景 业务提交审核 生成审核账单等数据 事务方法1 审核通过 业务看到账单如果没有问题就去手动审核通过 事务方法2 后期增加了一个自动审核的功能 如果账单中等等一些信
  • 【华为OD机试真题 JAVA】转骰子

    JS版 华为OD机试真题 JS 转骰子 标题 转骰子 时间限制 1秒 内存限制 262144K 语言限制 不限 骰子是一个立方体 每个面一个数字 初始为左1 右2 前3 观察者方向 后4 上5 下6 用123456表示这个状态 放置到平面上
  • 【新手教程】手把手教你搭建腾讯云服务器,图文详细教程

    目 录 本篇字数 1271 背景 服务器搭建 环境搭建 安装JDK Tomcat MySQL驱动 域名绑定 背景 暑假期间 愁着无聊但也不能荒废学业吧 毕竟以后想靠技术混口饭吃 为了实施自己的计划 特地挑了一个便宜的云服务器来用作自己的后台
  • 华为OD机试 - 计算最接近的数(Java)

    题目描述 给定一个数组X和正整数K 请找出使表达式 X i X i 1 X i K 1 结果最接近于数组中位数的下标 i 如果有多个 i 满足条件 请返回最大的 i 其中 数组中位数 长度为N的数组 按照元素的值大小升序排列后 下标为 N
  • SQL 从字符串中提取数字

    一基础使用 声明一个nvarchar类型的变量并赋值declare Name nvarchar 50 set Name 我正在123学 习22 SQL中11 的一些函数 patindex函数返回所查内容在字符串中第一次出现的内容print