我使用这个版本的Sybase -为什么我不能用正则表达式在Sybase SQL
的Adaptive Server Enterprise/15.5/EBF 18164 SMP ESD#2/P/x86_64的/企业版Linux。
当我尝试运行下面的查询时出现错误,说Incorrect syntax near 'regexp'
。
SELECT * FROM T1 WHERE C1 regexp '.*'
如果在这个版本的ASE中不支持,有人可以提出一个替代方案。
我使用这个版本的Sybase -为什么我不能用正则表达式在Sybase SQL
的Adaptive Server Enterprise/15.5/EBF 18164 SMP ESD#2/P/x86_64的/企业版Linux。
当我尝试运行下面的查询时出现错误,说Incorrect syntax near 'regexp'
。
SELECT * FROM T1 WHERE C1 regexp '.*'
如果在这个版本的ASE中不支持,有人可以提出一个替代方案。
试试这个方法:
SELECT * FROM T1 WHERE C1 like '%.%'
或
SELECT * FROM T1 WHERE C1 like '%[.]%'
这不是正则表达式吗?因为我的主要目标是写一个更复杂的正则表达式来找到我正在寻找的东西。 – kapricanon
Sybase-ASE不具有'regexp'功能。但是你可以像上面第二个例子那样使用'[]'来使用正则表达式。 – Parado
为了更加精确,我试图找到特殊字符(其ASCII码值大于x7F) – kapricanon
为什么downvote? – kapricanon
Sybase ASE中的模式匹配-http://infocenter.sybase.com/help/index.jsp?topic =/com.sybase.infocenter.dc32300.1550/html/sqlug/X10357.htm有关表达式和通配符的更多信息 - http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36271.1550/html/blocks/X16502.htm –
这个问题明确地面向REGEX而不是通配符。 – kapricanon