首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么将字段中的值分段

2012-01-12 
如何将字段中的值分段?如果某个字段中的值的格式为X*Y,保存在字段中是以字符串类型保存的在查询时如何将这

如何将字段中的值分段?
如果某个字段中的值的格式为X*Y,保存在字段中是以字符串类型保存的

在查询时如何将这个字段值分段,可以直接查询得到X和Y


如:

字段名           SpecValue
字段值           10000*1800
                      8000*1500
                      2000*12000
.
.
.

查询后需要的值

字段名               L                               W
字段值           10000                       1800
                        8000                       1500
                        2000                     12000


[解决办法]
select left(SpecValue,charindex( '* ',SpecValue) - 1) x , substring(SpecValue , charindex( '* ',SpecValue) + 1 , len(SpecValue)) y from tb
[解决办法]
比如取x> 2000

create table tb(SpecValue varchar(20))
insert into tb values( '10000*1800 ')
insert into tb values( '8000*1500 ')
insert into tb values( '2000*12000 ')
go
select SpecValue , cast(left(SpecValue,charindex( '* ',SpecValue) - 1) as int) x, cast(substring(SpecValue , charindex( '* ',SpecValue) + 1 , len(SpecValue) - charindex( '* ',SpecValue)) as int) y from tb where cast(left(SpecValue,charindex( '* ',SpecValue) - 1) as int) > 2000

drop table tb

/*
SpecValue x y
-------------------- ----------- -----------
10000*1800 10000 1800
8000*1500 8000 1500

(所影响的行数为 2 行)
*/

热点排行