当前位置: 代码迷 >> Sql Server >> 新手求教一个sqlserver有关问题
  详细解决方案

新手求教一个sqlserver有关问题

热度:105   发布时间:2016-04-27 15:04:25.0
新手求教一个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 行受影响)*/
  相关解决方案