读书人

SQL字符截取有关问题

发布时间: 2013-04-20 19:43:01 作者: rapoo

SQL字符截取问题
表结构如下

品名规格 装数
笋丝香辣味80g*6 null
笋丝五香味75g*120 null
五香豆干100g*30 null
梅菜笋丝43g*100 null

想要的结果

规格 装数
笋丝香辣味80g 6
笋丝五香味75g 120
五香豆干100g 30
梅菜笋丝43g 100

想截取(规格)字段*号后面的字符更新到(装数)字段
SQL怎么写?
[解决办法]

----------------------------
-- Author :DBA_Huangzj()
-- Date :2013-03-22 14:04:42
-- Version:
-- Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
--Jun 17 2011 00:54:03
--Copyright (c) Microsoft Corporation
--Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1, v.721)
--
----------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go
create table [huang]([品名规格] varchar(17),[装数] sql_variant)
insert [huang]
select '笋丝香辣味80g*6',null union all
select '笋丝五香味75g*120',null union all
select '五香豆干100g*30',null union all
select '梅菜笋丝43g*100',null
--------------开始查询--------------------------

select SUBSTRING([品名规格],1,PATINDEX('%*%',[品名规格])-1) [品名规格],SUBSTRING([品名规格],PATINDEX('%*%',[品名规格])+1,LEN(PATINDEX('%*%',[品名规格])))[装数]
from [huang]
----------------结果----------------------------
/*
品名规格 装数
----------------- -----------------
笋丝香辣味80g 6
笋丝五香味75g 1
五香豆干100g 3
梅菜笋丝43g 1
*/

读书人网 >SQL Server

热点推荐