我有一个在Excel中运行的查询,它需要显示来自SQLbase数据库的数据,在这个数据库中,我只有读访问权限。我不能以任何方式修改数据库。我需要能够过滤的列是一个varchar列,但它的值只是数字。我需要能够在Excel中使用between进行过滤,所以我尝试使用column + 0,以便Excel将其作为一个数字来提取。这以前是有效的,但现在它在一些数字上失败了。
数字704977990024可以工作,但是991098000265不行。用第二个数字我得到Data is not numeric。
以下是查询:
SELECT (TABLE1.COLUMN + 0) AS "Artikelnummer"
FROM DB.TABLE TABLE1
LEFT JOIN DB.OTHERTABLE TABLE2
ON TABLE1.COLUMN = TABLE2.COLUMN如何确保在Excel中将其作为数字获取?如果不在查询中,那么在Excel中又如何呢?当我在excel中将该列设置为number时,它仍然显示为文本,并且不会是数字,除非我尝试编辑该单元格。
发布于 2012-12-28 17:26:29
我还没有找到解决这个问题的方法,但是我找到了一个手动的变通方法。
您可以选择整个列,然后在其他位置进行剪切和粘贴。您将其剪切是因为在将数据放回时,列需要为空。之后,选择新创建的列,然后复制或剪切它。然后选择需要存放数据的列(刚才清空的列),然后按paste > paste special键。然后选择相乘(或任何其他)并按确定。这样,列将是数字的。
这可能是一个手动的东西,但这是我找到的一个解决这个问题的方法。
发布于 2012-12-21 17:14:35
可能已经满了。获取所需内容的另一种方法是用前导零填充数字。这将避免溢出,并允许您使用范围。我不知道语法..。就像where Right('000000000000000' + nu, 17) between ...一样。
https://stackoverflow.com/questions/13987121
复制相似问题