- Categorias:
LTRIM¶
Remove os caracteres iniciais, à esquerda, incluindo o espaço em branco, de uma cadeia de caracteres.
Sintaxe¶
LTRIM( <expr> [, <characters> ] )
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 | +---------------------------+
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] | -----------------------------+------------------------------------+
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' ) ;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< | | +-----------------------------------+----------------------------------+