1

我正在使用这个版本的 Sybase -

Adaptive Server Enterprise/15.5/EBF 18164 SMP ESD#2/P/x86_64/Enterprise Linux。

当我尝试运行以下查询时,我收到一条错误消息Incorrect syntax near 'regexp'

SELECT * FROM T1 WHERE C1 regexp '.*'

如果此版本的 ASE 不支持此功能,有人可以提出替代方案吗?

4

2 回答 2

1

试试这个方法:

SELECT * FROM T1 WHERE C1 like '%.%'

或者

SELECT * FROM T1 WHERE C1 like '%[.]%'
于 2013-07-03T12:07:54.660 回答
0

天真地,您可以构造要查找的字符的 varchar(nn),或者相反,知道有效字符集并搜索该集中的任何 NOT。

declare @mySet varchar(255)
select @mySet = '%[' + char(128) + char(129) + ... + ']%'
-- OR 
select @mySet = '%[^A-Z0-9_-@.]%' -- for example, case insensitive
-- then
select * from T where C like @mySet
于 2021-11-11T21:08:28.663 回答