> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/database/oracle/structure-query-language/etc-command/resize-display-column-size.md).

# 컬럼 간격 조정

## 컬럼 간격 조정(SQL Command Line)

SQL Command Line에서 테이블 조회 시 정상적으로 표시되지 않는 경우가 발생한다.

### Sample table 변경 전

```sql
select * from member;
```

```
    CUSTNO CUSTNAME                                 PHONE
---------- ---------------------------------------- --------------------------
ADDRESS
--------------------------------------------------------------------------------
JOINDATE GR CITY
-------- -- ----
    100001 김행복                                   010-1111-2222
서울 동대문구 휘경1동
15/12/02 A  01

    100002 이축복                                   010-1111-3333
서울 동대문구 휘경2동
15/12/06 B  01
```

위와 같이 표시되는 이유는 각 컬럼의 출력 크기가 컬럼의 실제 크기를 고려하여 지정되기 때문이다. 따라서 해당 컬럼의 표시 영역을 설정해줘야 알아보기 쉽게 출력이 가능하다.   &#x20;

{% hint style="info" %}
컬럼의 크기를 영구적으로 바꾸는 것이 아니라 보여지는 형태만 바꾸는 것이므로 SQL Command Line을 종료하면 해당 효과는 사라진다. 또한, 테이블을 지정하여 수행하지 않고 동일 이름 컬럼 모두에게 적용되므로 다른 테이블에 영향이 갈 수 있다.
{% endhint %}

### 참조 사이트

{% embed url="<https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch6.htm>" %}

### 구문 형식

```sql
column 컬럼명 heading 표시컬럼명 format 표시형식
```

줄여서 다음과 같이 작성도 가능하다.

```sql
col 컬럼명 head 표시컬럼명 for 표시형식
```

다음과 같이 하나만 설정해도 된다.

```sql
col 컬럼명 head 표시컬럼명
```

```sql
col 컬럼명 for 표시형식
```

### 주요 표시 형식

#### 숫자

숫자는 다음과 같이 설정한다.

* `0.00` - 반드시 소수점 앞 한자리와 뒤 두자리 값을 출력한다
  * `0.1` → `0.10`
  * `0.123` → `0.12`(반올림)
  * `0.125` → `0.13`(반올림)
  * `1.234` → `1.23`(반올림)
  * `0` → `0.00`
* `9.00` - 소수점 앞자리는 있을 경우만 출력하며 뒤 두자리 값은 반드시 출력한다
  * `0.1` → `.10`
  * `0.123` → `.12`(반올림)
  * `0.125` → `.13`(반올림)
  * `1.234` → `1.23`(반올림)
  * `0` → `.00`
* `999,999` - 천과 만 자리 사이에 콤마(,)를 추가한다.(패턴 지정 불가)  &#x20;
  * `1` → `1`
  * `12` → `12`
  * `123` → `123`
  * `1234` → `1,234`
  * `12345` → `12,345`
  * `123456` → `123,456`
  * `1234567` → `1234,567`(####### 깨짐)

#### 문자열

문자열은 다음과 같이 설한다. &#x20;

* `a10` - 10byte까지 한 줄에 출력한다(ASCII 기준)
* `a20` - 20byte까지 한 줄에 출력한다(ASCII 기준)

### Sample table 변경 후

간격을 조정한 후 다시 조회한 결과는 다음과 같다.

```sql
col custno for 999999 
col custname for a9 
col phone for a13
col address for a30

select * from member;
```

```
 CUSTNO CUSTNAME  PHONE         ADDRESS                      JOINDATE GR CITY
------- --------- ------------- ---------------------------- -------- -- ----
 100001 김행복    010-1111-2222 서울 동대문구 휘경1동          15/12/02 B  01
 100002 이축복    010-1111-3333 서울 동대문구 휘경2동          15/12/06 B  01
 100003 장믿음    010-1111-4444 울릉군 울릉읍 독도1리          15/10/01 B  30
 100004 최사랑    010-1111-5555 울릉군 울릉읍 독도2리          15/11/13 A  30
 100005 진평화    010-1111-6666 제주도 제주시 외나무골         15/12/25 B  60
 100006 차공단    010-1111-7777 제주도 제주시 감나무골         15/12/11 C  60
```
