Oracle - 공백을 제거하는 방법?
나는 이 진술을 실행하고 있습니다.
select trim(a),trim(b) from table x;
트림() 문을 사용했음에도 불구하고 출력은 다음과 같습니다.
A B
___ ____
kunjramansingh smartdude
열 'a'와 'b'의 데이터 유형은 varchar2(255)입니다.
두 출력의 데이터 사이에 간격이 있습니다.공백 없이 데이터를 표시합니다. 다음과 같은 형식입니다.
A B
___ ______
kunjramansinghsmartdude
이거 어떻게 해요?
SELECT REGEXP_REPLACE('A B_ __ kunjramansingh smartdude', '\s*', '')
FROM dual
---
AB___kunjramansinghsmartdude
업데이트:
문자열 연결:
SELECT a || b
FROM mytable
sqlplus에서 쿼리를 실행하는 것 같습니다.Sqlplus는 최대 문자열 크기(255)를 표시할 수 있도록 열 간격에 충분한 공간이 있어야 합니다.일반적으로 최대 문자열 크기(이 길이를 초과하는 줄은 여러 줄에 걸쳐 표시됨)를 줄이기 위해 열 형식 지정 옵션(쿼리 전에 실행: 열 A 형식 A20)을 사용하는 것이 해결책입니다.
내가 제대로 이해했다면, 이것이 당신이 원하는 것입니다.
select (trim(a) || trim(b))as combinedStrings from yourTable
선택 쿼리에서 'rpad'를 사용하고 크기를 지정할 수 있습니다...
select rpad(a , 20) , rpad(b, 20) from x ;
여기서 첫 번째 매개 변수는 열 이름이고 두 번째 매개 변수는 패딩할 크기입니다.
출력 포맷 문제로 들립니까?SQL Plus를 사용하는 경우 다음과 같이 COLUMN 명령을 사용합니다(각각 최대 20자의 표시 폭을 원하는 경우).
column a format a20
column b format a20
select a, b from mytable;
SQL Plus는 가능한 최대 값을 저장하도록 열 형식을 지정합니다. 이 경우 255자입니다.
출력에 실제로 추가 공간이 포함되어 있지 않은지 확인하려면 다음을 수행합니다.
SELECT
'/' || TRIM(A) || '/' AS COLUMN_A
,'/' || TRIM(B) || '/' AS COLUMN_B
FROM
MY_TABLE;
출력에서 '/' 문자가 분리되어 있으면 공백이 아니라 입력된 다른 공백 문자(예: 탭)임을 나타냅니다.이 경우 응용프로그램 어딘가에서 입력 유효성 검사 문제가 발생할 수 있습니다.
그러나 가장 가능성이 높은 시나리오는 '/'자가 실제로 문자열의 나머지 부분을 터치하여 공백이 실제로 잘려나감을 증명하는 것입니다.
만약 당신이 그것들을 함께 출력하고 싶다면, Quassnoi가 제시한 답이 있어야 합니다.
만약 그것이 순전히 전시 문제라면, 토니 앤드류스가 제시한 대답은 잘 될 것입니다.
REPLACE(REPLACE(a.CUST_ADDRESS1,CHR(10),' '),CHR(13),' ') as ADDRESS
예를 들어, 영숫자와 밑줄로만 구성된 값이 있는 열이 있습니다.우리는 이 칼럼을 모든 칸, 탭, 혹은 다른 백인 문자들에서 잘라내야 합니다.아래 예제를 통해 문제를 해결할 수 있습니다.잘린 것과 원래 것이 모두 비교를 위해 표시되고 있습니다.select '/'||REGEXP_REPLACE(my_column,'[^A-Z,^0-9,^_]','')||'/' my_column,'/'||my_column||'/' from my_table;
다음을 사용하여 출력에 공백이 없는지 확인합니다.
select first_name || ',' || last_name from table x;
산출량
존,스미스
제인,도
특정 열 값의 공백을 바꾸려면 다음 스크립트를 사용하여 작업을 수행할 수 있습니다.
UPDATE TableName TN
SET TN.Column_Name = TRIM (TN.Column_Name);
아래 명령어를 사용하여 Oracle의 공백을 제거했습니다.
내 테이블 이름은 - NG_CAP_SEND_입니다.INFO_MTR
내 열 이름은 - SENINFO_FROM입니다.
UPDATE NG_CAP_SENDER_INFO_MTR SET SENINFO_FROM = TRIM(SENINFO_FROM);
그리고 잘 작동합니다.
TAB 대체 쿼리 아래에서 실행LE_NAME & COLUMN_NAME 실제 테이블 및 컬럼 이름:
UPDATE TABLE_NAME SET COLUMN_NAME=TRIM(' ' from COLUMN_NAME);
언급URL : https://stackoverflow.com/questions/1195566/oracle-how-to-remove-white-spaces
'programing' 카테고리의 다른 글
| DTD 또는 XSD에서 샘플 XML 문서를 생성하는 방법은 무엇입니까? (0) | 2023.09.13 |
|---|---|
| require("path")를 사용할 수 있습니까?URL을 안전하게 연결하기 위해 가입합니까? (0) | 2023.09.13 |
| PLS-00103: 다음 중 하나를 예상할 때 기호가 발생했습니다. (0) | 2023.09.13 |
| wordpress: polylang 플러그인의 미디어 라이브러리 문제 (0) | 2023.09.13 |
| 편집 후 작성자 목록 변경을 위한 WordPress Filter(워드프레스 필터) 작성자 상자 (0) | 2023.09.13 |