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

SQL字符截取有关问题

2013-04-20 
SQL字符截取问题表结构如下 品名规格装数笋丝香辣味80g*6null笋丝五香味75g*120null五香豆干100g*30null梅

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
*/

热点排行