SQL之提取一个字符串的数字

原创 2013年12月05日 09:39:45

一、各种函数介绍

--声明一个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.MyGetNoFromStr(@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






版权声明:本文为博主原创文章,未经博主允许不得转载。

sql中取出字符串中数字

sql中取出字符串中数字的sql脚本 select substring(reverse('库房1号'),PATINDEX('%[0-9]%',reverse('库房1号')),1)...
  • TianGaojie123abc
  • TianGaojie123abc
  • 2012年10月30日 13:57
  • 6151

【SQL-码农】用sql获取某字符串中的数字部分的语句

http://www.jb51.net/article/20158.htm 此方法可以解决查询某字段中数字部分为固定值的记录,字母部分为定值类似 create function dbo...
  • CrackLibby
  • CrackLibby
  • 2015年05月07日 16:19
  • 3221

在SQL查询中如何截取字符串后转成数值型?

  • 2011年01月27日 10:05
  • 431B
  • 下载

SQL Server中截取字符串常用函数

SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '...
  • hu_shengyang
  • hu_shengyang
  • 2013年08月29日 17:01
  • 210905

sql server提取汉字、数字、字母的函数

--提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NUMBER2 GO CREATE FUNCT...
  • feng19821209
  • feng19821209
  • 2012年03月08日 15:51
  • 1605

sqlserver提取中文_提取英文_提取数字(函数)

--【提取中文字符】 IF OBJECT_ID('dbo.fun_getCN') IS NOT NULL DROP FUNCTION dbo.fun_getCN GO create function...
  • kk185800961
  • kk185800961
  • 2013年04月03日 06:59
  • 1179

sqlserver提取中文_提取英文_提取数字(函数)

--【提取中文字符】 IF OBJECT_ID('dbo.fun_getCN') IS NOT NULL DROP FUNCTION dbo.fun_getCN GO create function...
  • kk185800961
  • kk185800961
  • 2013年04月03日 06:59
  • 1179

从字母数字字符串中提取数字

http://office.microsoft.com/zh-cn/excel-help/HA001154901.aspx 本文的作者是 Ashish Mathur,是一位 Microsoft MV...
  • caolaosanahnu
  • caolaosanahnu
  • 2014年09月30日 10:43
  • 3010

c提取字符串中的数字

char is '0', ascii is '48' char is '1', ascii is '49' char is '2', ascii is '50' char is '3', asc...
  • lingyun1981
  • lingyun1981
  • 2014年09月26日 10:00
  • 3168

R语言-批量读取数据文件以及提取字符串中的数字

R语言-批量读入数据文件以及如何提取字符串中的数字,删除字符串中的特定字符,以及读取excel数据时指定行和列进行读取...
  • Trisyp
  • Trisyp
  • 2016年08月22日 14:49
  • 4196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL之提取一个字符串的数字
举报原因:
原因补充:

(最多只允许输入30个字)