create function getstr(@content char(20))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(文子列) from 游戏字典表
where content<=@content
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select 列1,getstr(列1) from 游戏字典表
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(文子列) from 游戏字典表
where content<=@content
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select 列1,getstr(列1) from 游戏字典表
FUNCTION CompareStr(src:string;dst:string):boolean
begin
//判断DST是否被包含在SRC,如果是则返回TRUE,否则返回false
//抱歉,我只是比较熟悉DELPHI的写法.
end;
然后可以如此处理:(意思和大力的差不多)
FUNCTION GetGameType(Gameid:string):string;
begin
//本写法是DELPHI和MS SQL的混合体,具体请自行解释
//定义光标,假定表格名称是GameType
//然后遍历光标,发现匹配的则result:=result+[中文类型名称]
//declare @@result string
declare @@Same boolean
declare @@gameid string
declare @@ganmename string
select @@result=''
while ......
begin
fetch next gametype.gameid,gametypename into @@nowid,@@gamename
select @@same=compare(gameid,gametype.gameid);
if @@same=true @@result=@@result+@@gamename //next record
end;
end;
insert @a select '10000000', '暴力游戏'
union all select '01000000', '网络游戏'
union all select '00100000', '色情游戏'declare @b varchar(10)
set @b='01100000'
select top 8 identity(int,1,1) as N into #t from sysobjectsselect a.* from @a a,#t b,(select @b as id1) c where substring(id,N,1)=substring(id1,N,1) and substring(id1,N,1)=1
set @b='10100000'
select a.* from @a a,#t b,(select @b as id1) c where substring(id,N,1)=substring(id1,N,1) and substring(id1,N,1)=1drop table #t
((case left(typeID,1) when '1' then '暴力游戏,' end ) +
(case substring(typeID,2,1) when '1' then '网络游戏,' end ) +
(case substring(typeID,3,1) when '1' then '色情游戏,' end ) ) as typeName
from uTable
@pi_id char(8),
@po_type varchar(200) output
begin
declare @pm_length int,
@pm_bit char(1),
@pm_tmp_id char(8)
set @po_type = ''
set @pm_length = datalength(@pi_id char)
while (@pm_length >= 0)
begin
set @pm_bit = substring(@pi_id char, @pm_length, 1)
if @pm_bit = '1'
begin
set @pm_tmp_id = replicate('0',8 - @pm_length) + '1' + replicate('0', 8 - @pm_length - 1)
select @po_type = ',' + column_gamename from table_games
where column_gameid = @pm_tmp_id
end
set @pm_length = @pm_length - 1
end
set @pm_length = datalength(@po_type)
if @pm_length > 0
begin
set @po_type = substring(@po_type, @pm_length - 1, @pm_length -1)
end
end