用sql获取某字符串中的数字部分的语句

复制代码 代码如下:

create function dbo.F_Get_No

(

@No varchar(100)

)

RETURNS bigint

AS

BEGIN

WHILE PATINDEX('%[^0-9]%',@No)>0

BEGIN

SET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分

END

RETURN CONVERT(bigint,@No)

END

此函数可以返回某字符串中的数字部分

PATINDEX函数 返回所查内容在字符串中第一次出现的索引

STUFF函数 删除指定长度的字符并在指定的起始点插入另一组字符。

select F_Get_No('sdsdf2334sfsd234') 返回'2334234'

注明:此方法可以解决查询某字段中数字部分为固定值的记录,字母部分为定值类似

时间: 2024-09-21 18:59:27

用sql获取某字符串中的数字部分的语句的相关文章

用sql获取某字符串中的数字部分的语句_MsSql

复制代码 代码如下: create function dbo.F_Get_No ( @No varchar(100) ) RETURNS bigint AS BEGIN WHILE PATINDEX('%[^0-9]%',@No)>0 BEGIN SET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分 END RETURN CONVERT(bigint,@No) END 此函数可以返回某字符串中的数字

sql中取字符串中的数字语句

 代码如下 复制代码 one: declare @s varchar(20) declare @i varchar(20) set @i='' set @s='新会员必须购买350元产品' while PATINDEX ('%[0-9]%', @s)>0 begin set @i=@i+substring(@s,PATINDEX ('%[0-9]%', @s),1) set @s=stuff(@s,1,PATINDEX ('%[0-9]%', @s),'') end select @i -- 3

mfc-MFC获取编辑框中的数字

问题描述 MFC获取编辑框中的数字 如何获取编辑框中的数字并以int形式存储到time这个变量中? 解决方案 直接用 GetDlgItemInt 就可以了. 解决方案二: 先从编辑框中获取字符串.然后将字符中转成数字,最后完成将数字存入 time 变量的过程. 1) 对该edit添加一个CEdit变量,比如m_edtPutin; 在需要得到变量的地方使用 CString str; m_edtPutin.GetWindowText(str); str就是edit中的字符串. 2) 使用 atoi

java从字符串中提取数字的简单实例_java

随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法. 1 String类提供的方法: package 测试练习; import Java.util.*; public class get_StringNum { /** *2016.10.25 */ public static void main(Strin

mysql中取字符串中的数字的语句_Mysql

复制代码 代码如下: one: declare @s varchar(20) declare @i varchar(20) set @i='' set @s='新会员必须购买350元产品' while PATINDEX ('%[0-9]%', @s)>0 begin set @i=@i+substring(@s,PATINDEX ('%[0-9]%', @s),1) set @s=stuff(@s,1,PATINDEX ('%[0-9]%', @s),'') end select @i -- 3

截取-字符串中提取数字,在线等!

问题描述 字符串中提取数字,在线等! 我有一个字符串,"p27p p34p"我想拿到里面的数字,里面的数字是用户ID,我的根据这ID去查Name. 该字符串中可能有多个"p用户IDp",请问怎么在c#后台把数字弄出来. 结果是:27 34.想把拿出来的数字放在一个数组里面,然后我循环去查用户. 解决方案 public static decimal GetNumber(string str) { decimal result = 0; if (str != null

c++字符串-C++中如何将输入的字符串中的数字提取出来做加减法

问题描述 C++中如何将输入的字符串中的数字提取出来做加减法 char shu[100]; scanf("%s",shu); int sum; sum+=字符串中的数字 这个应该怎样完成?当我提取了字符串中的数字后,但发现字符串中的数字是以ASIii的形式运算的,这该怎么办? 解决方案 #include "stdafx.h" #include <string.h> void main() { char shu[100]; scanf("%s&q

java json字符串解析,获取json字符串中数组的值

问题描述 java json字符串解析,获取json字符串中数组的值 {"arr":["ipAddr","installationSite","imineSystemId","valid"],"login":0,"password":"","purview":"","userId":0,&

求助、面向对象的思想查找字符串中的数字

问题描述 要用面向对象的思想来查找字符串中的数字.实现判断某个字符是否位数字的方法如下:publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","