- 카테고리:
문자열 및 이진 함수 (일반)
LTRIM¶
화이트스페이스 등 선행 문자를 문자열에서 제거합니다.
구문¶
LTRIM( <expr> [, <characters> ] )
인자¶
expr
트리밍할 문자열 식입니다.
characters
expr
의 왼쪽에서 제거할 하나 이상의 문자입니다.기본값은
' '
(단일 공백 문자)입니다. 즉, 문자를 지정하지 않으면 공백만 제거됩니다.
사용법 노트¶
characters
의 문자는 임의의 순서로 지정할 수 있습니다.화이트스페이스를 제거하려면 인자에 문자를 명시적으로 포함해야 합니다. 예를 들어,
' $.'
는 입력 문자열에서 모든 선행 공백, 달러 기호, 마침표를 제거합니다.이는 다른 화이트스페이스 문자(탭 문자, 줄의 끝 문자 등)를 제거하지 않는다는 점에 유의하십시오. 이러한 문자 또한 명시적으로 지정되어야 합니다.
데이터 정렬 세부 정보¶
데이터 정렬은 선택적 두 번째 인자가 생략되거나 상수 화이트스페이스만 포함된 경우 지원됩니다.
반환된 값의 데이터 정렬 사양은 첫 번째 인자의 데이터 정렬 사양과 동일합니다.
예¶
문자열에서 선행 ‘0’ 및 ‘#’ 문자를 제거합니다.
SELECT LTRIM('#000000123', '0#'); +---------------------------+ | LTRIM('#000000123', '0#') | |---------------------------| | 123 | +---------------------------+
ASCII 이외의 문자가 있는 문자열을 비롯하여 문자열에서 선행 공백을 제거합니다. 이 예에서는 화이트스페이스를 시각화하는 데 도움이 되도록 >
및 <
문자로 문자열을 묶습니다.
SELECT CONCAT('>', CONCAT(v, '<')), CONCAT('>', CONCAT(LTRIM(v), '<')) FROM tr; -----------------------------+------------------------------------+ concat('>', concat(v, '<')) | concat('>', concat(ltrim(v), '<')) | -----------------------------+------------------------------------+ > < | >< | > asd < | >asd < | > asd< | >asd< | > éché, la lé < | >éché, la lé < | > < | >< | >< | >< | >asd < | >asd < | [NULL] | [NULL] | -----------------------------+------------------------------------+
이 예는 이전 예와 유사하지만, 빈 문자뿐만 아니라 “화이트스페이스” 문자를 포함합니다. 특히 이는 C 프로그래밍 언어가 “화이트스페이스”로 간주하는 6개의 문자를 사용합니다.
테이블을 만들고 채웁니다.
CREATE TABLE c_compatible_whitespace (whitespace_char VARCHAR); INSERT INTO c_compatible_whitespace (whitespace_char) SELECT CHR(32) || -- Blank CHR(13) || -- Carriage Return CHR(12) || -- Form Feed CHR(10) || -- Line Feed CHR(11) || -- Vertical Tab CHR(09) -- tab (aka Horizontal Tab) ; CREATE TABLE t1 (V VARCHAR); INSERT INTO t1 (v) VALUES ('NoBlanks'), (' OneLeadingBlank'), ('OneTrailingBlank '), (' OneLeadingAndOneTrailingBlank ') ; INSERT INTO t1 (v) SELECT (CHR(09) || -- tab (aka Horizontal Tab) CHR(10) || -- Line Feed CHR(11) || -- Vertical Tab CHR(12) || -- Form Feed CHR(13) || -- Carriage Return CHR(32) -- Blank || 'Leading whitespace' ) ;이는 출력입니다(당연하게도, 빈 문자가 아닌 일부 화이트스페이스 문자는 이 출력을 읽기 약간 어렵게 만듭니다).
SELECT '>' || v || '<' AS Original, '>' || LTRIM(v, (SELECT whitespace_char FROM c_compatible_whitespace)) || '<' AS LTrimmed FROM t1; +-----------------------------------+----------------------------------+ | ORIGINAL | LTRIMMED | |-----------------------------------+----------------------------------| | >NoBlanks< | >NoBlanks< | | > OneLeadingBlank< | >OneLeadingBlank< | | >OneTrailingBlank < | >OneTrailingBlank < | | > OneLeadingAndOneTrailingBlank < | >OneLeadingAndOneTrailingBlank < | | > | >Leading whitespace< | | Leading whitespace< | | +-----------------------------------+----------------------------------+