急问,关于全文检索的 "Contrains" 是否支持 Unicode字符和外字!!

dorisnet 2005-02-25 06:48:39
欢迎您:dorisnet 可用分:80 总信誉分:100未结帖数:0 注销我的登录 社区首页

最后80分,请大哥们帮忙。
...全文
247 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
dorisnet 2005-03-02
  • 打赏
  • 举报
回复
这里我问的问题都是邹老大解决的。唉,别人也都不会吗?
dorisnet 2005-03-02
  • 打赏
  • 举报
回复
谢谢邹大哥。
dorisnet 2005-03-01
  • 打赏
  • 举报
回复
顶。
zjcxc 元老 2005-03-01
  • 打赏
  • 举报
回复
测试说明:
我的系统环境是简体中文,所以要用排序规则来指定不同于当前系统环境的代码页,以便测试不用unicode类型是否能检索出数据

还可以在删除测试环境前,用
select * from tb
查询表中的数据,你可以发现1,3条记录在插入时,没有加N,导致保存的也是乱码
zjcxc 元老 2005-03-01
  • 打赏
  • 举报
回复
--建测试库
create database test collate Latin1_General_CI_AS
go

--切换到测试库
use test
go

--创设测试表
create table tb (ID int identity not null,a nvarchar(10),b varchar(10),constraint PK_tb primary key(id))
go

--为全文索引启用数据库
exec sp_fulltext_database 'enable'

--创建一个叫My_FullDif的全文目录
exec sp_fulltext_catalog 'My_FullDir', 'create'

--为全文索引标记表
exec sp_fulltext_table 'tb','create','My_FullDir','PK_tb'

--创建全文索引
exec sp_fulltext_column 'tb','a','add',0x0804
exec sp_fulltext_column 'tb','b','add',0x0804
go

--插入数据
insert tb select '中国营农场', '中国营农场'
union all select N'中国营农场',N'中国营农场'
union all select '中国营农场',N'中国营农场'
union all select N'中国营农场', '中国营农场'
go


--填充全文索引
exec sp_fulltext_table 'tb','start_full'

--填充全文索引后,有一定的延迟时间才会生效,所以要延时
waitfor delay '00:00:10'
go

--查询
select * from tb where contains(a,'"国营"')
select * from tb where contains(b,'"国营"')
select * from tb where contains(a,N'"国营"')
select * from tb where contains(b,N'"国营"')
go

--删除测试
use master
go

drop database test


/*--测试结果

ID a b
----------- ---------- ----------
4 中国营农场 ?????
2 中国营农场 ?????

(所影响的行数为 2 行)

ID a b
----------- ---------- ----------

(所影响的行数为 0 行)

ID a b
----------- ---------- ----------
4 中国营农场 ?????
2 中国营农场 ?????

(所影响的行数为 2 行)

ID a b
----------- ---------- ----------

(所影响的行数为 0 行)

--*/
dorisnet 2005-02-28
  • 打赏
  • 举报
回复
谢谢了,不过我查不到啊。
dorisnet 2005-02-28
  • 打赏
  • 举报
回复
在顶,请邹大哥继续关注。
zjcxc 元老 2005-02-27
  • 打赏
  • 举报
回复
外文也支持,注意保存的时候用类似下面的方法:
insert 表 valeus(N'中文')
insert 表 select N'中文'
dorisnet 2005-02-27
  • 打赏
  • 举报
回复
在顶一下
dorisnet 2005-02-27
  • 打赏
  • 举报
回复
是已经设置了啊,是 Nvarchar 类型的,但是他支持外字吗?

原来都是好用的。但是改为Navachar 后,英文和数字是号用的。汉字就不好用了

这和文件存储的格式有关系吗?文件必须为 Unicode的格式吗?
zjcxc 元老 2005-02-27
  • 打赏
  • 举报
回复
如果你是正版用户,可以直接致电咨询微软技术支持中心
zjcxc 元老 2005-02-27
  • 打赏
  • 举报
回复
查sql联机帮助或者查询微软的官方网站
zjcxc 元老 2005-02-27
  • 打赏
  • 举报
回复
当然支持

当然,前提是要求你的字段类型设置为unicode类型,即nchar/nvarchar/ntext之类
dorisnet 2005-02-27
  • 打赏
  • 举报
回复
那么关于这个说法有没有比较权威的资料。

--不好意思,不是不信任你,而是我的领导需要,因为客户也要这样的资料。

谢谢!!!!!
zjcxc 元老 2005-02-27
  • 打赏
  • 举报
回复
insert 表 valeus('中文')

这样处理的话,数据在保存在数据库前就是非unicode代码,所以可能发生错误
dorisnet 2005-02-27
  • 打赏
  • 举报
回复
insert 表 valeus(N'中文')

如果 insert 表 valeus('中文')的呢?
zzlazio 2005-02-26
  • 打赏
  • 举报
回复
up
dorisnet 2005-02-26
  • 打赏
  • 举报
回复
帮忙啊。
dorisnet 2005-02-26
  • 打赏
  • 举报
回复
在顶一下。
dorisnet 2005-02-25
  • 打赏
  • 举报
回复
自己顶一下,期待邹建大哥帮忙。

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧