2015-05-09 49 views
1
-- Formatting purpose 
SET LINESIZE 200 
COLUMN 'Pharmaceutical Companies' FORMAT a25 
COLUMN 'Drug Count' FORMAT a10 

-- Code 
SELECT PHARNAME AS "Pharmaceutical Companies", COUNT (tradename) AS "Drug Count" 
FROM DRUG 
GROUP BY PHARNAME 
HAVING COUNT (TRADENAME) = (SELECT MAX ("Drug Count") 
FROM (SELECT COUNT (TRADENAME) AS "Drug Count" FROM DRUG 
GROUP BY PHARNAME)); 

以上是我的一套代码来获取我的数据库中的某些值。然而,打印的结果是什么导致我的价值被打印为#

Pharmaceutical Companies Drug Count 
------------------------- ---------- 
Medmed Shine    ########## 

如果我删除格式目的,它会显示

Pharmaceutical Companies  Drug Count 
------------------------------ ---------- 
Medmed Shine       14 

我试图调整格式的大小,但它仍显示为########

+1

你为什么要使用一个文本字段格式 - A10 - 为多少?你想如何显示数字值? (另外,[见此](http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve013.htm#sthref1308))。 –

+0

'A ...'是错误的格式,您需要'9999999999'([link](http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12013.htm#BACHCABF)) – dasblinkenlight

+0

@AlexPoole新来的sql,不知道'a10'是只为字符串,谢谢指导 – Zac

回答

0

aXXX格式列作为文本,但您正在打印数字。您可以使用9 s到格式化列作为一个数字,它也可以让你使用逗号分隔千:

SET LINESIZE 200 
COLUMN 'Pharmaceutical Companies' FORMAT a25 
COLUMN 'Drug Count' FORMAT 999,999,999,999 
+0

谢谢,对不起,我不知道这一点,我很新的sql在时刻,只有使用'a10'来进行格式化,但我不知道它只是用于字符串 – Zac

相关问题