1

我有一个包含 varchar 的列。此列中的一些数据读作标签(我检查过,两边都没有空格)。

当我在没有条件的情况下选择 * 时,我可以看到主题标签数据(在屏幕截图中)。

在此处输入图像描述

当我进行选择以计算带有主题标签的行时,我得到的返回值为 0。为什么查询无法找到

这是我的两个查询

-- returns 0
select count(LastVisitNumber) 
from qcpr_ARF_OC.Visit
where LastVisitNumber = '#';

-- returns several rows and some are just #.
select * from qcpr_ARF_OC.Visit;
4

2 回答 2

1

我想知道哈希是否需要转义,即使 Caché 文档似乎没有说明它...

where LastVisitNumber like '%\#%';

如果失败,这 4 个替代查询可能会有所帮助....只需换掉ORDER BY子句。

    SELECT LastVisitNumber, 
           CHAR_LENGTH(LastVisitNumber)
      FROM qcpr_ARF_OC.Visit
     WHERE LastVisitNumber NOT NULL
  ORDER BY LastVisitNumber
# ORDER BY CHAR_LENGTH(LastVisitNumber)
# ORDER BY LastVisitNumber DESC
# ORDER BY CHAR_LENGTH(LastVisitNumber) DESC

您也可以尝试通过 ODBC(而不是 JDBC)进行查询,这样可以更轻松地生成可能揭示令人惊讶的细节的跟踪。

于 2016-10-19T18:46:05.330 回答
0

可能还有其他您看不到的字符。我将从:

select count(LastVisitNumber) 
from qcpr_ARF_OC.Visit
where LastVisitNumber like '%#%';

这假定它LastVisitNumber实际上是一个字符串,尽管它的名称。

于 2016-10-19T13:03:59.057 回答