#####出现而不是sql表中的实际值

时间:2016-08-09 11:37:39

标签: oracle sqlplus

我用过

[sal sal格式A10; set linesize 1500;]

设置列sal和mgr的宽度。之后,当我查看表格时,mgr和sal列中的值显示为######。 现在如何获得实际值

1 个答案:

答案 0 :(得分:3)

您正在为数字列使用无效的格式模型。有效元素为listed in the documentation。 SQL * Plus不知道你的意思,所以如果一个数字不适合有效的数字格式,它似乎默认为相同的行为:“如果某个值不适合列,SQL * Plus会显示英镑符号(#)而不是数字。“

如果查询返回的结果已经是字符串,您只能使用A10之类的to_char(sal, '999G999G999') as sal,例如如果你做column salary format 999G999G999 ;但即便如此,格式模型已经设置了最大长度(在这种情况下为12,允许+/-符号)。

您可能根本不需要格式化这些列,但如果要将它们作为数字检索并想要添加格式,则需要使用适当的模型,例如

{{1}}