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

处理语句

2013-01-23 
求一个处理语句T1名称规格A1.1gb2ml:2XXc0.9q*dd结果名称规格A1.1b2c0.9取规格最左边的第一组数值。谢谢[解

求一个处理语句
T1
名称   规格
A      1.1g
b      2ml:2XX
c      0.9q*dd

结果
名称   规格
A      1.1
b      2
c      0.9

取规格最左边的第一组数值。谢谢
[解决办法]

引用:
T1
名称   规格
A      1.1g
b      2ml:2XX
c      0.9q*dd

结果
名称   规格
A      1.1
b      2
c      0.9

取规格最左边的第一组数值。谢谢



这个我有个笨方法,你试试下面的语句吧...

select replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')
--把getdate()换了即可

[解决办法]
select a 名称,left(b,PATINDEX('%[a-zA-Z]%',b)-1)规格 from tb
[解决办法]

SELECT [名称],LEFT([规格],PATINDEX('%[^0-9.]%',[规格])-1) AS [规格] FROM T1

[解决办法]

if OBJECT_ID('T1','U') is not null
drop table T1

go
create table T1
(
名称 nvarchar(20),
规格 nvarchar(20)
)

go
insert into T1 values
('A','1.1g'),
('b','2ml:2XX'),
('c','0.9q*dd')

--SQL
select 名称, left(规格,patindex('%[^0-9.]%',规格)-1) 规格 From T1

--结果集
/*
名称规格
A1.1
b2
c0.9
*/

热点排行