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

全文检索和字符串有关问题

2012-02-12 
全文检索和字符串问题问题1CREATETABLE[dbo].[test1]([story][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIM

全文检索和字符串问题
问题1
CREATE   TABLE   [dbo].[test1](
[story]   [text]   COLLATE   Chinese_PRC_CI_AS   NULL
)   ON   [PRIMARY]   TEXTIMAGE_ON   [PRIMARY]


INSERT   INTO   [dbo].[test1]
                      ([story])
          VALUES
                      (   'you   你   can   能   do   做   what   什么   you   你   want   想   to   去   do   做的 ')

如何返回两列
stotyD                                                       stotyC

you   can   do   what   you   want   to   do       你能做什么你想去做的

问题   2

you   出现了2次
如何返回2

“能”出现了一次返回   1


[解决办法]
create table a
(story varchar(100))
INSERT INTO a
select 'you 你 can 能 do 做 what 什么 you 你 want 想 to 去 do 做的 '
go
create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000),@result nvarchar(4000)
set @PY= ' '
set @result= ' '
while len(@str)> 0
begin
set @word=left(@str,1)
if unicode(@word) between 19968 and 19968+20901
set @result=@result+@word
else
set @PY=@PY+@word
set @str=right(@str,len(@str)-1)
end
return @PY + ' '+ @result
end
go
select dbo.fun_getPY(story) from a
--结果
you can do what you want to do 你能做什么你想去做的

热点排行