Sql 关于Oracle数据库格式列的一个简单问题
在Oracle上,为了使用sqlplus更好地设置输出,我们这样做了Sql 关于Oracle数据库格式列的一个简单问题,sql,string,oracle,sqlplus,Sql,String,Oracle,Sqlplus,在Oracle上,为了使用sqlplus更好地设置输出,我们这样做了 column author format a15 column editor format a15 column title format a15... 问题很简单:为3列设置列大小很容易,但是如果我们有7列或更多列?是否可以为所有列设置默认列大小?否。默认情况下,字符串列的显示长度是数据库中列的大小。因此,如果一个列被定义为varchar2(100),那么SQL*Plus会在结果集中保留100个字符。特定规则适用于数据类型
column author format a15
column editor format a15
column title format a15...
问题很简单:为3列设置列大小很容易,但是如果我们有7列或更多列?是否可以为所有列设置默认列大小?否。默认情况下,字符串列的显示长度是数据库中列的大小。因此,如果一个列被定义为
varchar2(100)
,那么SQL*Plus会在结果集中保留100个字符。特定规则适用于数据类型,如日期、CLOB或其他,但这可能不是您在这里要求的
如果您想改变这一点,需要在每列的基础上进行
发件人:
数据类型列的默认宽度是数据库中列的宽度
您可以使用COLUMN命令更改数据类型或日期的显示宽度,该命令的格式模型由字母a
(对于字母数字)后跟一个以字符表示列宽度的数字组成
在列
命令中,确定要格式化的列和要使用的模型
否。默认情况下,字符串列的显示长度是数据库中该列的大小。因此,如果一个列被定义为
varchar2(100)
,那么SQL*Plus会在结果集中保留100个字符。特定规则适用于数据类型,如日期、CLOB或其他,但这可能不是您在这里要求的
如果您想改变这一点,需要在每列的基础上进行
发件人:
数据类型列的默认宽度是数据库中列的宽度
您可以使用COLUMN命令更改数据类型或日期的显示宽度,该命令的格式模型由字母a
(对于字母数字)后跟一个以字符表示列宽度的数字组成
在列
命令中,确定要格式化的列和要使用的模型
好吧,这是可能的——对于数字来说。您有3个可用选项:
优先于列格式
优先于SET NUMFORMAT
SET NUMWIDTH
SQL> set numwidth 2
SQL> select sal from emp where rownum <= 2;
SAL
---
##
##
SQL> set numformat $9990d0
SQL> select sal from emp where rownum <= 2;
SAL
--------
$1000,0
$1600,0
SQL> col sal format $999g990d00
SQL> select sal from emp where rownum <= 2;
SAL
------------
$1.000,00
$1.600,00
SQL>
SQL>设置numwidth 2
SQL>从emp中选择sal,其中rownum设置numformat$9990d0
SQL>从emp中选择sal,其中rownum col sal格式$999g990d00
SQL>从emp中选择sal,其中rownum
但是,对于其他数据类型来说,没有这样的运气。嗯,对于数字来说,这是可能的。您有3个可用选项:
优先于列格式
优先于SET NUMFORMAT
SET NUMWIDTH
SQL> set numwidth 2
SQL> select sal from emp where rownum <= 2;
SAL
---
##
##
SQL> set numformat $9990d0
SQL> select sal from emp where rownum <= 2;
SAL
--------
$1000,0
$1600,0
SQL> col sal format $999g990d00
SQL> select sal from emp where rownum <= 2;
SAL
------------
$1.000,00
$1.600,00
SQL>
SQL>设置numwidth 2
SQL>从emp中选择sal,其中rownum设置numformat$9990d0
SQL>从emp中选择sal,其中rownum col sal格式$999g990d00
SQL>从emp中选择sal,其中rownum
不过,对于其他数据类型来说,没有这样的运气