对Sybase DB使用带有like子句的正则表达式

对Sybase DB使用带有like子句的正则表达式,sybase,sap-ase,Sybase,Sap Ase,当我点击下面的查询时,我得到1行 SELECT * FROM servers WHERE Node='abc_deeh32q6610007' 但是,当我点击以下查询时,选择了0行 SELECT * FROM servers WHERE Node LIKE '%_deeh32q6610007' 我认为这可能是因为。,但我使用以下查询时看到的模式相同 SELECT * FROM alerts WHERE TicketNumber like '%979415' --> returns 0 r

当我点击下面的查询时,我得到1行

SELECT * FROM servers WHERE Node='abc_deeh32q6610007'
但是,当我点击以下查询时,选择了0行

SELECT * FROM servers WHERE Node LIKE '%_deeh32q6610007'
我认为这可能是因为
,但我使用以下查询时看到的模式相同

SELECT * FROM alerts WHERE TicketNumber like '%979415' --> returns 0 rows
SELECT * FROM alerts WHERE TicketNumber='IN979415' --> returns 1 row

我正在使用Sybase DB。

这种错误不应该出现在正常的数据库中

首先检查字符是否正确,以及您使用的%字符代码是否正确。在计划文本中编写脚本,并使用-i选项直接从命令行运行isql检查脚本

如果这样做无济于事,并且问题仍然存在,那么您可能在数据库的物理结构方面存在一些问题:

  • 检查是否在数据库中正确配置了排序顺序:可以使用字符集工具重新加载字符集顺序

  • 检查数据库结构中是否没有错误:运行dbcc checkdb和dbcc checkalloc查看数据中是否没有物理错误

  • 检查数据库错误日志中是否没有任何错误。数据库观察到的所有物理错误都应记录在此处


如果这样做无济于事,请尝试使用数据副本在另一个表中重现相同的问题。然后在另一台具有相同配置的服务器上。尽量缩小问题的范围。

奇怪。
TicketNumber
的类型是什么?TicketNumber和Node都是
2
类型,这是我在控制台中描述警报和描述服务器时看到的。