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

新手求教一个sqlserver有关问题

2012-03-08 
新手求教一个sqlserver问题表名 BM_Hqc字段名 mc字段值QQ卡|神州行充值卡|20QB|网易一卡通|骏网一卡通|玩

新手求教一个sqlserver问题
表名 BM_Hqc
字段名 mc

字段值 QQ卡|神州行充值卡|20QB|网易一卡通|骏网一卡通|玩偶
字段值都是这样的有5个|

其他字段值也都是有5个|

我想把这个按照|分成依次分成6行,查询出顺序编号跟名称2个字段。

结果显示如下

  顺序编号 名称
  1 QQ卡
  2 神州行充值卡
  3 20QB
  4 网易一卡通
  5 骏网一卡通
  6 玩偶


本人不会程序……只会用一点点sqlserver,请教下这个问题改怎么做?

[解决办法]

SQL code
------------------------------ Author  :fredrickhu(小F,向高手学习)-- Date    :2011-12-17 15:42:33-- Version:--      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86) --    Apr 22 2011 11:57:00 --    Copyright (c) Microsoft Corporation--    Enterprise Evaluation Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)--------------------------------> 测试数据:[tb]if object_id('[tb]') is not null drop table [tb]go create table [tb]([mc] varchar(49))insert [tb]select 'QQ卡|神州行充值卡|20QB|网易一卡通|骏网一卡通|玩偶'--------------开始查询--------------------------Select    顺序编号=ROW_NUMBER()over(order by getdate()),    mc=substring(a.mc,b.number,charindex('|',a.mc+'|',b.number)-b.number) from     Tb a join master..spt_values  b     ON B.type='p' AND B.number BETWEEN 1 AND LEN(A.mc)where     substring('|'+a.mc,b.number,1)='|'----------------结果----------------------------/* 顺序编号                 mc-------------------- -------------------------------------------------1                    QQ卡2                    神州行充值卡3                    20QB4                    网易一卡通5                    骏网一卡通6                    玩偶(6 行受影响)*/ 

热点排行