มันไม่เพียงพอที่จะบังคับ sqlplus ไม่ให้ตัดเส้น นอกจากนี้ยังจำเป็นต้องบอกวิวเวอร์ว่าคุณใช้ดูไฟล์สปูลเพื่อไม่ให้ล้อมบรรทัด หากผู้ชมของคุณอยู่less
แล้ว-S
ตัวเลือกที่คุณต้องใช้ตาม
https://superuser.com/questions/272818/how-to-turn-off-word-wrap-in-less บน Unix / Linux คุณสามารถใช้head -1 output.txt
เพื่อรับบรรทัดแรกของไฟล์และตรวจสอบว่าเป็นไปตามที่คาดไว้หรือคุณสามารถใช้od -c output.txt|head
เพื่อดูว่าตัวแบ่งบรรทัดถูกวางไว้ที่ใดในไฟล์เอาต์พุตของคุณ
หากคุณแสดงคอลัมน์ยาวและค่าของพวกเขามีตัวแบ่งบรรทัดแล้วหลายบรรทัดจะถูกพิมพ์สำหรับค่าคอลัมน์เหล่านี้และคุณไม่สามารถลบล้างคอลัมน์นี้ด้วยการตั้งค่า sqlplus
คำสั่ง sqlplus ต่อไปนี้อาจมีประโยชน์:
SET LINESIZE linesize
ความยาวของเส้น ในกรณีส่วนใหญ่ค่าสูงสุดสำหรับlinesize
คือ 32767 คุณสามารถค้นหาค่าสูงสุดของคุณหากคุณตั้งค่า LINESIZE เป็นค่าที่ไม่ถูกต้องและตรวจสอบข้อความแสดงข้อผิดพลาดดังนั้นSET LINESIZE 0
อาจให้SP2-0267: linesize option 0 out of range (1 through 32767)
(1)
SET TRIMSPOOL ON
มิฉะนั้นทุกบรรทัดในสปูลไฟล์จะถูกเติมด้วยช่องว่างจนกว่าจะถึงเส้นตรง
SET TRIMOUT ON
มิฉะนั้นทุกบรรทัดในเอาต์พุตจะเต็มไปด้วยช่องว่างจนกว่าจะถึงเส้นที่กำหนด
SET WRAP OFF
ตัดทอนบรรทัดหาก LINESIZE ยาวกว่า สิ่งนี้ไม่ควรเกิดขึ้นถ้าเส้นขนาดใหญ่พอ
SET TERMOUT OFF
ยับยั้งการพิมพ์ผลลัพธ์ไปยังเอาต์พุต บรรทัดยังคงถูกเขียนไปยังไฟล์สปูล สิ่งนี้อาจเร่งเวลา exectution ของคำสั่งมาก
SET PAGESIZE 0
เพื่อตั้งค่าขนาดหน้ากระดาษที่ไม่มีที่สิ้นสุดและหลีกเลี่ยงส่วนหัวหัวเรื่องและอื่น ๆ
- มี
SET
พารามิเตอร์อื่น ๆ ที่เกี่ยวข้องกับผลลัพธ์ (NUMWIDTH, NUMFORMAT, LONG, COLSEP) และประสิทธิภาพ (ARRAYSIZE, LONGCHUNKSIZE)
คุณต้องใช้COLUMN
คำสั่งเพื่อจัดรูปแบบแต่ละคอลัมน์
เช่นcolumn name format a30
จะจัดรูปแบบคอลัมน์name
ในผลลัพธ์ให้มีความยาวสูงสุด 30 อักขระ
หากคุณต้องการขนาดจอแสดงผลไม่แก้ไข แต่ควรเท่ากับขนาดของค่าจริงของคอลัมน์ในแถววิธีเดียวที่ฉันรู้คือคุณเปลี่ยนส่วนคำสั่งที่เลือกเพื่อให้ได้ผลลัพธ์ที่ต้องการและใช้ ตัวดำเนินการเรียงต่อสตริง||
เช่น
select emp_id||' '||first_name||' '||last_name
from emp;
คำอธิบายแบบเต็มของตัวแปรทั้งหมดสามารถพบได้ในคู่มือการใช้ SQL * Plus และเอกสารอ้างอิง
หากคุณต้องการใช้การตั้งค่าบางอย่าง (หรือคำจำกัดความของคอลัมน์) คุณสามารถเก็บไว้ในไฟล์และเรียกใช้ไฟล์นี้เมื่อคุณต้องการอีกครั้ง คุณยังสามารถเรียกใช้ไฟล์นี้โดยอัตโนมัติหากคุณเริ่ม sqlplus
(1) "วิธีค้นหาค่าสูงสุดของ LINESIZE (ขึ้นอยู่กับระบบ) (Doc ID 1547262.1)"