SQLPlus查询PLAYERS表输出格式异常求助
SQLPlus查询PLAYERS表输出格式异常求助
看起来你在SQLPlus里查询PLAYERS表时,遇到了输出格式混乱的问题——本该整整齐齐排在同一行的列标题、数据全都错位换行,完全不是你想要的「表头单行+点线分隔+数据对应列对齐」的样子,对吧?别慌,我给你几个实用的调整技巧,应该能解决这个问题:
先调整整体行宽:SQLPlus默认的行宽可能不够容纳你的所有列,导致自动换行。你可以用
SET LINESIZE命令设置一个足够大的数值,比如你的列加起来大概120字符就够,就写:SET LINESIZE 150这个数值可以根据你实际的列数和列宽灵活调整,只要能装下所有列就行。
精准控制每列的显示宽度:如果某列本身内容很长(比如玩家名字),就算调了行宽还是会换行,这时候用
COLUMN命令给每列单独指定宽度:
假设你的PLAYERS表有PLAYER_ID、PLAYER_NAME、TEAM、AGE这几个列,就可以这么设置:COLUMN PLAYER_ID FORMAT A10 -- 字符型列用A+宽度,这里限制为10个字符 COLUMN PLAYER_NAME FORMAT A20 COLUMN TEAM FORMAT A15 COLUMN AGE FORMAT 999 -- 数值型列用9,999表示最多3位数字设置你要的点线分隔表头:默认SQLPlus的表头分隔线是下划线,你可以改成你需要的点线:
SET UNDERLINE .执行这个命令后,表头下面就会显示一串点作为分隔线了。
(可选)优化分页显示:如果你的表数据很多,还可以设置每页显示的行数,避免表头频繁重复出现:
SET PAGESIZE 50这里设置成50,就是每页显示50行数据后再重复表头。
最后把这些设置和查询放在一起执行,比如:
SET LINESIZE 150 SET UNDERLINE . SET PAGESIZE 50 COLUMN PLAYER_ID FORMAT A10 COLUMN PLAYER_NAME FORMAT A20 COLUMN TEAM FORMAT A15 COLUMN AGE FORMAT 999 SELECT * FROM PLAYERS;
这样输出应该就能符合你的预期了——表头整整齐齐在一行,下面是点线,每行数据都对应自己的列,不会乱换行啦!
备注:内容来源于stack exchange,提问作者Sampurna Dan
相关产品推荐
相关产品推荐

