Categorias:

Funções de cadeia de caracteres e binários (General)

LTRIM

Remove os caracteres iniciais, à esquerda, incluindo o espaço em branco, de uma cadeia de caracteres.

Consulte também:

RTRIM , TRIM

Sintaxe

LTRIM( <expr> [, <characters> ] )
Copy

Argumentos

expr

A expressão das cadeias de caracteres a serem excluídas.

characters

Um ou mais caracteres a serem removidos remover do lado esquerdo de expr.

O valor padrão é ' ' (um único caractere de espaço em branco), ou seja, se nenhum caractere for especificado, somente os espaços em branco são removidos.

Notas de uso

  • Os caracteres em characters podem ser especificados em qualquer ordem.

  • Para remover espaços em branco, os caracteres devem ser explicitamente incluídos no argumento. Por exemplo, ' $.' remove todos os espaços em branco da frente, sinais de dólar e períodos da cadeia de caracteres de entrada.

    Observe que isso não remove outros caracteres do espaço em branco (caracteres de tabulação, caracteres de fim de linha etc.), que também devem ser explicitamente especificados.

Detalhes do agrupamento

O agrupamento é suportado quando o segundo argumento opcional é omitido, ou quando ele contém apenas espaço em branco constante.

A especificação de agrupamento do valor retornado é a mesma que a especificação de agrupamento do primeiro argumento.

Exemplos

Remover os caracteres ‘0’ e ‘#’ no início de uma cadeia de caracteres:

SELECT LTRIM('#000000123', '0#');
+---------------------------+
| LTRIM('#000000123', '0#') |
|---------------------------|
| 123                       |
+---------------------------+
Copy

Remover os espaços em branco no início das cadeias de caracteres, incluindo as cadeias de caracteres com caracteres não ASCII. Este exemplo delimita as cadeias de caracteres com caracteres > e < para ajudar a visualizar o espaço em branco:

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]                             |
-----------------------------+------------------------------------+
Copy

Este exemplo é semelhante ao anterior, mas inclui caracteres de “espaço em branco” além apenas do caractere em branco; especificamente, isso usa os 6 caracteres que a linguagem de programação C considera como “espaço em branco”:

Criar e preencher uma tabela:

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'
    )
   ;
Copy

Esta é a saída (não surpreende, alguns dos caracteres diferentes de espaço em branco tornam esta saída um pouco difícil de ler):

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<              |                                  |
+-----------------------------------+----------------------------------+
Copy