最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle使用SQL PIUS格式化輸出查詢結(jié)果的多種方法

 更新時間:2026年04月10日 09:45:00   作者:晴天¥  
本文介紹了在SQL*Plus中設(shè)置查詢結(jié)果顯示的方法,使用COLUMN命令可以設(shè)置顯示列的別名、長度限制和格式化顯示;使用SET命令可以設(shè)置每頁顯示行數(shù)、每行顯示的字符數(shù)、顯示查詢數(shù)據(jù)所用的時間、顯示列標(biāo)題等,通過這些設(shè)置,可以更好地查看查詢結(jié)果

問題背景:

在Oracle中,使用SQL*Plus工具來查詢數(shù)據(jù)時經(jīng)常會碰到的問題就是由于查詢的列過多無法在一行全部顯示出來,結(jié)果看起來非?;靵y。例如,查詢dba_users中的全部數(shù)據(jù),這查詢結(jié)果誰看誰腦殼大。

單從查詢結(jié)果中可以看出由于查詢出的列比較多,顯示時根本看不出具體的查詢結(jié)果,只是知道查詢出了22條數(shù)據(jù)。為了能夠在SQL*Plus中顯示出比較清晰的查詢結(jié)果,SQL*Plus提供了多種設(shè)置查詢結(jié)果顯示的方法(吐槽:也不知道為啥不對這個進(jìn)行優(yōu)化)。結(jié)合實際,我們需要學(xué)習(xí)幾個比較常用的設(shè)置命令。

1.1.使用COLUMN命令

使用COLUMN命令既可設(shè)置顯示列的別名也可以設(shè)置顯示列的格式。下面分別講解COLUMN命令的幾種用法。

(1)對列的結(jié)果查詢做長度限制

以上邊問題中的查詢結(jié)果為例,我們能看到數(shù)據(jù)庫輸出的每一個字段底下的虛線長度能一定程度反應(yīng)出表在創(chuàng)建時預(yù)設(shè)的長度大小,但是在實際的生產(chǎn)過程中,我們往往使用不到這么長度字段,也不想顯示這么長的字段,這時候,我們就需要通過對列進(jìn)行字段長度控制。

語法:

COLUMN employee_name FORMAT A20 -- 設(shè)置列寬20字符

示例:以設(shè)置列寬來進(jìn)行示例

(2)使用COLUMN命令設(shè)置別名

使用COLUMN命令設(shè)置別名與在SQL語句中設(shè)置別名的方法類似。

具體語法如下:

COLUMN oldname HEADING newname

【語法說明】

oldname:要查詢表中的列名。

newname:新的列名。

示例:設(shè)置別名

下面就使用上面的命令,查詢dba_users 中的用戶名(username)和用戶ID(user_id),并把username的列名使用COLUMN命令換成“用戶名”。查詢結(jié)果如下圖所示:

(3)使用COLUMN命令格式化數(shù)據(jù)顯示的格式

在使用SQL*Plus查詢數(shù)據(jù)時經(jīng)常會遇到需要格式化顯示的數(shù)字格式,在SQL*Plus中仍然可以使用COLUMN命令完成。

具體語法如下:

COLUMN column_name FORMAT dataformat

【語法說明】

column_name:格式化查詢結(jié)果的列名。

dataformat:格式化后顯示的格式。設(shè)置數(shù)據(jù)格式一般規(guī)則如下表所示。

格式含義
9代表一個數(shù)字字符
0在指定的位置顯示前導(dǎo)0或后置0
$美元貨幣符號
B顯示一個空
MI顯示負(fù)號
,顯示千分位分隔符
.顯示小數(shù)點
G顯示千分位分組符號
L顯示本地區(qū)域的貨幣符號

示例:

COLUMN salary FORMAT $999,999.99 -- 貨幣格式

COLUMN hire_date FORMAT A10 -- 日期列格式

COLUMN department_id FORMAT 999 -- 數(shù)字列格式

說明:使用COLUMN命令設(shè)置列的格式之后,這個列的格式是會一直保持的,除非重新設(shè)置該列的格式或者取消該列的格式。取消列的格式可以用COLUMN column_name clear命令來完成。

例如:取消對表dba_users中對列的設(shè)置

1.2.使用SET命令設(shè)置格式

使用SET命令設(shè)置查詢結(jié)果的格式也是經(jīng)常會用到的,使用SET命令可以設(shè)置每一頁顯示的行數(shù)、設(shè)置每行顯示的字符數(shù)、顯示查詢數(shù)據(jù)所用的時間、設(shè)置查詢結(jié)果是否顯示列標(biāo)題、設(shè)置查詢結(jié)果是否顯示“已選擇行數(shù)”等。

(1)查詢損耗時間命令(set timing命令)

通常在執(zhí)行一條SQL語句的時候,我們往往是想要知道一條sql的執(zhí)行時間到底花費了多久,這個時候,就可以使用SET TIMING ON

語法:

SET TIMING ON|OFF

示例:

(2)使用SET命令設(shè)置查詢結(jié)果的行數(shù)

在使用SQL*Plus查詢數(shù)據(jù)時,經(jīng)常是把所有的數(shù)據(jù)都顯示在整個頁面上,這就造成了頁面顯示數(shù)據(jù)非常亂,無法識別的問題。在SQL*Plus中提供對每頁顯示行數(shù)的設(shè)置。

具體命令如下:

SET PAGESIZE n

說明:

這里,n代表每頁顯示的行數(shù),默認(rèn)在每頁顯示的行數(shù)是24。

除了設(shè)置每頁顯示的行數(shù)之外,還可以設(shè)置每頁之間的空格數(shù),這樣就使每頁之間都有間隔,更方便數(shù)據(jù)庫管理員查看數(shù)據(jù)。具體的命令如下:

具體命令如下:

SET NEWPAGE n

說明:

這里,n代表每頁之間間隔的空格數(shù)。

示例:設(shè)置查詢結(jié)果顯示的行數(shù)

下面就利用上面的兩個命令完成查詢結(jié)果的設(shè)置。從dba_users表中查詢用戶名(username),設(shè)置每頁顯示10行,每頁之間間隔3個空格。具體操作如下圖所示:

(3)設(shè)置每行顯示的字符數(shù)

在設(shè)置了每頁顯示行數(shù)的基礎(chǔ)上,也可以對每行顯示的字符數(shù)進(jìn)行設(shè)置。具體設(shè)置每行顯示字符數(shù)的命令如下:

SET LINESIZE n

這里,n代表每行顯示的字符數(shù),默認(rèn)顯示的字符數(shù)是80。顯示當(dāng)前SQL*Plus中的LINESIZE,使用的命令如下:

SHOW LINESIZE

下面利用LINESIZE的設(shè)置完成對查詢結(jié)果的每行顯示字符數(shù)的設(shè)置。從dba_users表中查詢用戶名(username)、密碼(password)、用戶ID(user_id),并設(shè)置每行顯示的字符數(shù)是120。

(4)設(shè)置查詢結(jié)果是否顯示列標(biāo)題

如果在保存查詢結(jié)果時為了保證數(shù)據(jù)庫的安全可以隱藏掉每列顯示的標(biāo)題。

具體命令如下:

SET HEADING ON/OFF

這里,ON表示顯示列標(biāo)題;OFF表示不顯示列標(biāo)題。

以上就是Oracle使用SQL PIUS格式化輸出查詢結(jié)果的多種方法的詳細(xì)內(nèi)容,更多關(guān)于Oracle SQL PIUS格式化輸出查詢結(jié)果的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

新邵县| 贵港市| 石泉县| 天长市| 临桂县| 斗六市| 霞浦县| 开远市| 栾川县| 巧家县| 安福县| 青岛市| 泸溪县| 独山县| 泾源县| 读书| 嘉祥县| 富锦市| 建阳市| 平邑县| 潮安县| 宜春市| 洮南市| 咸阳市| 枣阳市| 承德市| 合作市| 内乡县| 吴桥县| 赤壁市| 沧州市| 类乌齐县| 榕江县| 固始县| 伊宁县| 永登县| 和静县| 修武县| 印江| 台州市| 铜梁县|