全文检索和字符串问题
问题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 你能做什么你想去做的