我正在将其中一台计算机扔出窗外。Crystal Reports将字符串转换为数字的问题
我正在处理涉及Crystal Reports(版本10)和Oracle数据库(11g)的问题。
我正在从数据库中返回一个字符串(varcahr2(50))的视图,它实际上是一个数字,当在这个视图上运行基本的SELECT *查询时,我以000000000000100.00的格式返回数字。
当在Crystal Reports中使用此视图时,我可以查看字段数据,但由于数据不是数字,因此我无法对其进行求和。
我开始尝试在字段上使用ToNumber,Crystal的回应是该字符串不是数字文本。好吧,我回到视图并运行了TO_NUMBER,当它用于水晶时,它没有返回任何结果。我还试图在视图上运行TO_CHAR,以便我可以将该字段导入为文本,然后执行ToNumber,但与TO_NUMBER一样,没有显示任何记录。
我已经开始了新的报道,我已经开始了新的观点。徒劳无功。
这似乎与我如何检索视图的数据有关。
简而言之,我从查看两个字段的外键和值字段的表中提取数据。
SELECT PRIMARY_KEY,
NVL(MAX(DECODE(FOREIGN_KEY, FOREIGN_KEY_OF_VALUE_I_NEED, VALUE_FIELD)), 0)
FROM MY_TABLE
GROUP BY PRIMARY_KEY
当我试图把修改使用TO_NUMBER或我已经用它周围的VALUE_FIELD本身和整个表达式TO_CHAR结果,枯萎的工作方式时,在SQL语句中运行。但是,在使用视图时,对语句的任何TO_NUMBER或TO_CHAR修改都不会在Crystal Reports中返回任何结果。
这个问题的全部问题都是我忽略的勾选框或等价物。
任何有关如何解决这个问题或我可以去寻找答案的建议将不胜感激。
你想用'DECODE'语句做什么?如果相等,则使用'VALUE_FIELD'或其他东西? – craig
解码是为我从中提取数值的表格,它是一个传统设计,但本质上该表格包含所有类型的值,而外键描述了值字段的值。例如,如果桌子上有人,人的高度,人的年龄和人的姓名都会得到自己的密钥,然后可以通过使用联系人表的键进行搜索来使用该表,每个联系人获得身高,年龄和姓名然后通过它们的关键来区分它们。不是很优雅,但不是我可以改变的东西。 – ashcanschool