免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6152 | 回复: 5
打印 上一主题 下一主题

informix的TEXT类型字段没办法用like或matches [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-15 18:32 |只看该作者 |倒序浏览
我正在写个全文检索程序,语句如下:
   SELECT * FROM article WHERE context like "%AAA%"
     其中context是TEXT类型,里面是纯文本数据,得到错误码是
   219: Wildcard matching may not be used with non-character types.
    不用通配符,用 like "AAA"也报-219错。换matches也一样。
    如何对informix的TEXT类型字段进行比较?

    在SQL SERVER7下TEXT字段是可以用like的。

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
2 [报告]
发表于 2003-07-15 18:38 |只看该作者

informix的TEXT类型字段没办法用like或matches

-219        通配符匹配不能用于非字符类型。

这个语句的WHERE子句中包含了对一非字符字段的测试,该测试使用了关键字LIKE
或MATCHES,并使用了代表多重字符的特殊字符,(例如在MATCHES中使用星号和问
号,或是在LIKE中使用百分号和下划线)。只对数据库中被定义为CHAR或VARCHAR
的字段才使用这类测试。不提供自动的数据转换。检查WHERE子句中的字段正是你所
希望的。如果是这样的话,表的定义可能被修改过了。


SELECT * FROM article WHERE context matches "*AAA*"

论坛徽章:
0
3 [报告]
发表于 2003-07-15 21:55 |只看该作者

informix的TEXT类型字段没办法用like或matches

刚才看了一下官方SQL参考手册,TEXT既不但不能用LIKE,而且没有变通的解决办法。另外更新TEXT字段也很麻烦,不能直接用update语句。
看来用informix处理大文本是行不通的。

在多媒体的支持方面,informix远不如sql server。

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
4 [报告]
发表于 2003-07-16 08:25 |只看该作者

informix的TEXT类型字段没办法用like或matches

呵呵~~~~
是text类型的呀!
那是用不成matches
我看成是char或varchar型的了

论坛徽章:
0
5 [报告]
发表于 2003-07-16 10:08 |只看该作者

informix的TEXT类型字段没办法用like或matches

sql server可以支持超大文本字段的update吗?我知道很多数据库都不支持的,包括oracle 和informix。

论坛徽章:
0
6 [报告]
发表于 2003-07-16 12:22 |只看该作者

informix的TEXT类型字段没办法用like或matches

ms sql server可以直接update或insert大文本,大文本也能写入like表达式,便于实现全文检索,如:
insert into my_tab values("abcd"
update my_tab set my_text="abcd"
select * from my_tab where my_text like "%ABCD%"

如果要建多媒体网站,sql server是不错的选择。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP