S subosoft Unregistered / Unconfirmed GUEST, unregistred user! 2007-11-25 #1 数据库字段【F1】格式如下:<br>00018-0;00024-168;00040-0;00100-100;00001-116;00008-0;00015-95;00042-0;00002-0;00004-145;<br>请问怎么用一条SQL语句查询出00024后面的(168)呢??<br>[blue][/blue]
数据库字段【F1】格式如下:<br>00018-0;00024-168;00040-0;00100-100;00001-116;00008-0;00015-95;00042-0;00002-0;00004-145;<br>请问怎么用一条SQL语句查询出00024后面的(168)呢??<br>[blue][/blue]
D dgates Unregistered / Unconfirmed GUEST, unregistred user! 2007-11-25 #2 select * from table where F1 like '00024*168'
X xinjinren Unregistered / Unconfirmed GUEST, unregistred user! 2007-11-26 #3 select substring(F1,CHARINDEX('00024', F1)+5,3) as s from table<br>这里考虑横线后面是3位处理,如果你要考虑不同位数可以再这个原理上修改下就可以了。
select substring(F1,CHARINDEX('00024', F1)+5,3) as s from table<br>这里考虑横线后面是3位处理,如果你要考虑不同位数可以再这个原理上修改下就可以了。
S subosoft Unregistered / Unconfirmed GUEST, unregistred user! 2007-11-27 #4 To<br> xinjinren<br>如果不同位数怎么处理呢??
Y Yhhe Unregistered / Unconfirmed GUEST, unregistred user! 2007-11-27 #5 使用下面的 f_split 函数(转)<br><br>create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))<br>returns @temp table(a varchar(100))<br>--实现split功能 的函数<br>--date :2005-4-20<br>--Author omino<br>as <br>begin<br> declare @i int<br> set @SourceSql=rtrim(ltrim(@SourceSql))<br> set @i=charindex(@StrSeprate,@SourceSql)<br> while @i>=1<br> begin<br> insert @temp values(left(@SourceSql,@i-1))<br> set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)<br> set @i=charindex(@StrSeprate,@SourceSql)<br> end<br> if @SourceSql<>'/'<br> insert @temp values(@SourceSql)<br> return <br>end<br><br>用法:select * from dbo.f_split('A:B:C:E',':')
使用下面的 f_split 函数(转)<br><br>create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))<br>returns @temp table(a varchar(100))<br>--实现split功能 的函数<br>--date :2005-4-20<br>--Author omino<br>as <br>begin<br> declare @i int<br> set @SourceSql=rtrim(ltrim(@SourceSql))<br> set @i=charindex(@StrSeprate,@SourceSql)<br> while @i>=1<br> begin<br> insert @temp values(left(@SourceSql,@i-1))<br> set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)<br> set @i=charindex(@StrSeprate,@SourceSql)<br> end<br> if @SourceSql<>'/'<br> insert @temp values(@SourceSql)<br> return <br>end<br><br>用法:select * from dbo.f_split('A:B:C:E',':')
S subosoft Unregistered / Unconfirmed GUEST, unregistred user! 2007-12-06 #6 To<br> Yhhe<br>那个函数只是一个分段函数.并没实现我要求的功能的...
H HoyCoolboy Unregistered / Unconfirmed GUEST, unregistred user! 2007-12-06 #7 select * from table where F1 like '00024%168'
迷 迷途的羔羊 Unregistered / Unconfirmed GUEST, unregistred user! 2007-12-06 #8 select right(f1,len(f1)-6) from table where left(f1,5)='00024'