Sybase 12:REGEXP搜索条件不明白

时间:2011-01-24 16:33:14

标签: sql regex tsql sybase

我正在使用Sybase 12.5.3,并希望/需要进行正则表达式模式匹配。

Sybase帮助说自从版本11以来一直存在正则表达式功能,但我无法使用任何东西。

This document描述了REGEXP和SIMILAR TO搜索条件。我在各种表格上尝试过这两种方法都没有成功。

举个例子:

SELECT * 
  FROM REPORTS 
 WHERE name regexp '.*' 

...给我一个错误:

  

'regexp'附近的语法不正确。

该错误的唯一搜索结果与MS-SQL有关。

我尝试了各种各样的东西,包括使用REGEXP_LIKE和SIMILAR TO,但我得到了同样的错误,好像这个词不被理解。我错过了什么吗?我正在比较的列包含字符串。

我找不到启用/禁用这些功能的任何选项,而且我提供的实际字符串与它无关。

我正在使用DBArtisan 8.7.5,如果这是相关的。

3 个答案:

答案 0 :(得分:6)

您的链接转到Sybase Anywhere手册,但您使用的是12.5.3?那看起来像Sybase ASE版本号。完全不同的产品 - 我不认为ASE支持Regex直到ASE 15.如果你使用ASE,你需要找到一种不同的方法来做到这一点。

答案 1 :(得分:2)

您可以使用like代替函数,并提供类似正则表达式 字符类匹配 - 例如name like "[0-9]"

请参阅文档:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc38151.1520/html/iqrefbb/CACGCGGC.htm

答案 2 :(得分:0)

可能是regexp('.*'),但在查看12.5.x的Sybase手册之后,我认为该版本没有正则表达式方法。