SQL怎样自左至右顺序取出字符串中的数字?

一包含数字的字符串,需要取出中间的数字部分进行排序
/****** Object:
UserDefinedFunction [dbo].[F_Get_No]
Script Date: 10/18/:13 ******/
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
function [dbo].[F_Get_No]
@No varchar(100)
RETURNS bigint
WHILE PATINDEX('%[^0-9]%',@No)&0
SET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分
RETURN CONVERT(bigint,@No)
只取出字串中的字符部分
function [dbo].[F_GetChar]
@No varchar(100)
RETURNS varchar(100)
WHILE PATINDEX('%[^A-Za-z]%',@No)&0
SET @No=STUFF(@No,PATINDEX('%[^A-Za-z]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分
RETURN CONVERT(varchar(100),@No)
--select dbo.F_GetChar('wwww23')
阅读(...) 评论()获取字符串中截取第一个纯数字部分 - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 22时,
由网上查找,根据工作需要进行修改
代码片段(1)
1.&[代码][SQL]代码&&&&
* 从字符创中截取数字部分,只截取第一个数字部分
* a2b3c4 只截取 2
alter function dbo.f_GetNumInStr
(@Str varchar(200))
returns varchar(50)
declare @Result varchar(50)
set @Result = ''
select @Str = LTRim(RTrim(@Str))
declare @i as int
declare @j as int
declare @k1 as int
declare @k2 as int
set @i = 1
--循环开始位置
set @j = len(@Str)
--循环结束位置
set @k1 = 0
--记录数字开始的位置
set @k2 = 0
--记录数字结束的位置
while @i &= @j and isnull(@Result,'') = ''
--在结束位置前,且未取到数字
--判断当前位置是否为数字
if (substring(@Str , @i , 1) between '0' and '9') or (substring(@Str , @i , 1) = '.') or (substring(@Str , @i , 1) = '%')
or (substring(@Str , @i , 1) = '+') or (substring(@Str , @i , 1) = '-')
--允许判断小数
if @k1 = 0
--如果是第一次取到数字,即为数字开始位置
set @k1 = @i
if @i = @j
--已循环到最后位置
set @k2 = @j
--最后位置是数字
set @Result = substring(@Str , @k1 , (@k2 - @k1 + 1))
--根据开始和结束位置获取数字
--当前位置非数字部分
if @k1 & 0
--如果已取到开始位置
set @k2 = @i - 1
--上一个位置为数字部分结束
set @Result = substring(@Str , @k1 , (@k2 - @k1 + 1))
--取到非数字,一次取值结束,初始化数字位置
set @k1 = 0
set @k2 = 0
--向后一位取数
set @i = @i + 1
return @Result
开源中国-程序员在线工具:
相关的代码(454)
0回/1062阅
开源从代码分享开始
渐风渐逝的其它代码sql如何截取字符串中前面的数字
本回答由提问者推荐
var sogou_ad_id=731547;
var sogou_ad_height=160;
var sogou_ad_width=690;全部答案(共1个回答)
如下:private sub command1_click()dim x,y as stringx=text1 '取文本框中的字符串for i=1 to len(x) ‘循环取x的每一个字符 if asc(mid(x,i,1))between 48 and 57 ‘判断该位字符是否在0到9之间,通过asc码判断 y=y mi...
vba示例代码如下:private sub command1_click()dim x,y as stringx=text1 '取文本框中的字符串for i=1 to len(x) ‘循环取x的每一个字符 if asc(mid(x,i,1))between 48 and 57 ‘判断该位字符是否在0到9之间,通过asc码判断 y=y mid(x,i,1)’将该位字符进行连接 end ifnext imsgbox y
‘输出结果end sub
vba示例代码如下:private sub command1_click()dim x,y as stringx=text1 '取文本框中的字符串for i=1...
记录一下:  SELECT *  FROM (SELECT TRANS_TYPE, TRANS_TYPE_NAME  FROM QGIS_TRANS_TYPE ...
““Oh”” 1. " ?表示一个双引号2. O3.h4." ?表示一个双引号 “x48”1. 102 ? ?
后的数字是八进制的ASCII...
我们看到 WHERE 指令可以被用来由表格中 有条件地选取资料。 这个条件可能是简单的 (像上一页的例子),也可能是复杂的。复杂条件是由二或多个简单条件透过 A...
首先要说明的是
declare @id int
set @str='select * from id='+@id
-- 这句是有问题的
比如查找用户名包含有"c"的所有用户, 可以用
use mydatabase
select * from table1 where username like’...
答: 求一个多条件sql查询语句
答: 我想先说一句不太好听的话,你可能对数据库的接触还刚开始吧.
呵呵,首先,文件夹是系统目录下的东西,是操作系统内部的东西,和数据库没有直接的关系.所以这是一个定位...
答: 对于每个被管对象,定时采集性能数据,自动生成性能报告
B.20世纪上半叶,人类经历了两次世界大战,大量的青壮年人口死于战争;而20世纪下半叶,世界基本处于和平发展时期。
“癌症的发病率”我认为这句话指的是:癌症患者占总人数口的比例。
而B选项说是死亡人数多,即总体人数下降了,但“癌症的发病率”是根据总体人总来衡量的,所以B项不能削弱上述论证
餐饮业厨房产生的油烟,顾名思义,废气中主要污染物为油烟,一般采用静电除油。
液化气属较清洁能源,废气污染程度不高,主要含二氧化碳一氧化碳吧。
柴油属石油类,废气含二氧化硫和氮氧化物,二氧化硫碱液喷淋即可去除,氮氧化物主要以一氧化氮为主,要催化氧化成二氧化氮才能被碱吸收,造价成本非常高,一般的柴油发电机尾气难以治理,除非大型发电厂。
煤炭废气含二氧化硫多,一般常用的脱硫工艺即可。
铝属于两性金属,遇到酸性或碱性都会产生不同程度的腐蚀,尤其是铝合金铸件的孔隙较多,成分中还含有硅和几种重金属,其防腐蚀性能比其他铝合金更差,没有进行防护处理的铝铸件只要遇到稍带碱性或稍带酸性的水,甚至淋雨、水气、露水等就会受到腐蚀,产生白锈。
解决的办法。
铝铸件完成铸造后,在机械加工前,先要进行表面预处理,如预先对铸件进行喷砂,涂上一道底漆(如锌铬黄底漆),在此基础上再进行机械加工,以避免铸铝件在没有保护的情况下放久了被腐蚀。
嫌麻烦就把你洗衣机的型号或断皮带,拿到维修点去买1个,自己装上就可以了(要有个小扳手把螺丝放松,装上皮带,拉紧再紧固螺丝)。
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区

我要回帖

更多关于 strcmp 的文章

 

随机推荐