我正在使用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,如果这是相关的。
答案 0 :(得分:6)
您的链接转到Sybase Anywhere手册,但您使用的是12.5.3?那看起来像Sybase ASE版本号。完全不同的产品 - 我不认为ASE支持Regex直到ASE 15.如果你使用ASE,你需要找到一种不同的方法来做到这一点。
答案 1 :(得分:2)
您可以使用like
代替函数,并提供类似正则表达式
字符类匹配 - 例如name like "[0-9]"
答案 2 :(得分:0)
可能是regexp('.*')
,但在查看12.5.x的Sybase手册之后,我认为该版本没有正则表达式方法。