- カテゴリ:
文字列とバイナリ関数 (一般)
LTRIM¶
空白を含む、先頭の文字を文字列から削除します。
構文¶
LTRIM( <expr> [, <characters> ] )
引数¶
expr
削除される文字列式です。
characters
expr
の左側から削除する1つ以上の文字です。デフォルト値は
' '
(単一の空白文字)です。つまり、文字が指定されていない場合、空白のみが削除されます。
使用上の注意¶
characters
の文字は任意の順序に指定できます。空白を削除するには、文字を引数に明示的に含める必要があります。例えば、
' $.'
は、入力文字列からすべての先行空白スペース、ドル記号、ピリオドを削除します。この場合、明示的に指定する必要がある他の空白文字(タブ文字、行末文字など)は削除されません。
照合の詳細¶
オプションの2番目の引数が省略されている場合、または定数の空白のみが含まれている場合は、照合がサポートされます。
戻り値の照合指定は、最初の引数の照合指定と同じです。
例¶
文字列から、先頭の「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< | | +-----------------------------------+----------------------------------+