我有一个包含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;
答案 0 :(得分: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)进行查询,这样可以更容易地生成可能显示令人惊讶的细节的痕迹。
答案 1 :(得分:0)
您可能看不到其他角色。我会从:
开始select count(LastVisitNumber)
from qcpr_ARF_OC.Visit
where LastVisitNumber like '%#%';
这假设LastVisitNumber
实际上是一个字符串,尽管它的名称。