求一个简单的SQL取字段的语句

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:58:46
比如有下面 size_code describe
A101 XL(170/175)
我想取describe 中()中的值,那么,需要怎么写?高手帮忙了。分值不多,见谅见谅了!

--楼上的有问题,括号外的XL可能还有XXL、L等情况
--这样就OK啦
--测试数据
declare @tb table(size_code varchar(100), describe varchar(100))
insert into @tb select 'A101', 'XL(170/175)'
insert into @tb select 'A101', 'XXL(180/185)'
insert into @tb select 'A101', 'L(160/165)'

--查询
--方法1
select substring(describe,charindex('(',describe)+1,charindex(')',describe)-charindex('(',describe)-1) from @tb
--方法2
select reverse(stuff(reverse(stuff(describe,1,charindex('(',describe),'')),1,1,'')) from @tb

--结果
/*
170/175
180/185
160/165
*/

要先用sql查了整个字段,然后可以设一个数如nu1=<%rigth(objRS("字段名")),8%>得到后8位字符即使得nul="170/175)",再设一个数如nu2=<%left(nu1),7%>得到nu1中左7位字符即使得nu2="170/175",当然如果没有“()”用这种方法就更好办了!你可以自行研究!

SQLserver2000

select substring(describe,4,7) from 表