读书人

处理语句

发布时间: 2013-01-23 10:44:50 作者: rapoo

求一个处理语句
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
*/

读书人网 >SQL Server

热点推荐