2017-04-17 72 views
0

假設我的表中有一個facility列,它的數據類型爲VARCHAR2(300),如果我調用一個查詢來顯示此列中的記錄,並且我沒有使用全部300個字符,則所有字符顯示使用了大量的空白空間。如何從Oracle SQL中的字符串中選擇一定數量的字符?

有沒有一種方法可以根據使用的字符數量顯示結果,而不僅僅顯示全部300個字符?

這裏是我的SQL代碼:

SELECT Depot_Depot_ID AS "Depot ID", facilities FORM BUS; 

    THIS IS THE RESULT I GET... 

RESULTS IMAGE

感謝。

+0

爲什麼不能使用TRIM功能?這很明顯 – FLICKER

+0

我嘗試過使用RTRIM函數,但是我無法得到它的工作:/仍然得到相同的結果 –

+0

這聽起來像是SQL \ * Plus問題,而不是Oracle SQL問題。在SQL \ * Plus中,發出命令「COLUMN」庫ID「FORMAT A50」(如果你希望結果在寬度爲50的列中)。不要用分號';'結束命令,因爲這是一個SQL \ * Plus命令,它不是一個SQL語句。 – mathguy

回答

0

我沒有甲骨文測試,但這種可能工作

declare maxlen number 
SELECT max(LENGTH(TRIM(facilities))) INTO maxlen FROM BUS; 

SELECT Depot_Depot_ID AS "Depot ID", cast(facilities as varchar(maxlen)) FORM BUS; 
0

好了,我發現我一直在尋找的答案。而不是TRIM或任何我只使用SELECT CAST(facilities AS CHAR(80)) AS "Facilities" FROM BUS;,它只是顯示「設施」列的前80個字符

相關問題