MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como TRIM_ORACLE() funciona no MariaDB


No MariaDB, TRIM_ORACLE() é um sinônimo para a versão do modo Oracle do TRIM() função.

TRIM_ORACLE() está disponível em todos os modos, por isso evita que você tenha que alternar para o modo Oracle, que é o que você precisaria fazer se quisesse o TRIM() função para se comportar como o TRIM() do Oracle função.

A diferença está em como cada função trata strings vazias. Oracle retorna null enquanto o MariaDB retorna uma string vazia.

Sintaxe


A sintaxe fica assim:
TRIM_ORACLE([remstr FROM] str)

Ou:
TRIM_ORACLE([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

Onde str é a string da qual remover quaisquer espaços à direita e remstr é a string a ser removida.

Se remstr não for fornecido, então TRIM_ORACLE() remove espaços.

Exemplo


Segue um exemplo básico:
SELECT 
    '   Volcanic eruption   ' AS "Untrimmed",
    TRIM_ORACLE('   Volcanic eruption   ') AS "Trimmed";

Resultado:
+-------------------------+-------------------+
| Untrimmed               | Trimmed           |
+-------------------------+-------------------+
|    Volcanic eruption    | Volcanic eruption |
+-------------------------+-------------------+

Este exemplo usa a sintaxe mais básica. Tudo o que fizemos foi fornecer a corda para aparar. Não especificamos quais caracteres aparar e, portanto, todos os espaços foram aparados de ambos os lados da string.

Também podemos ver que o espaço dentro da string permanece intacto.

Veja como TRIM() Funciona no MariaDB para exemplos de uso de outras opções, como especificar uma string a ser aparada e qual lado da string a ser aparada. TRIM_ORACLE() funciona exatamente da mesma maneira nesses casos, com a possível exceção de quando a string a ser cortada é uma string vazia.

Strings vazias


Passando uma string vazia para TRIM_ORACLE() resulta em null sendo devolvido.
SELECT TRIM_ORACLE('');

Resultado:
+-----------------+
| TRIM_ORACLE('') |
+-----------------+
| NULL            |
+-----------------+

Isso reflete a maneira como o TRIM() da Oracle função lida com strings vazias.

No MariaDB, o TRIM() função retorna apenas null quando você estiver usando o modo Oracle. Quando não estiver no modo Oracle, ele retorna uma string vazia.

Argumento nulo


Se o argumento for null , o resultado é null :
SELECT TRIM_ORACLE(null);

Resultado:
+-------------------+
| TRIM_ORACLE(null) |
+-------------------+
| NULL              |
+-------------------+

Argumento ausente


Chamando TRIM_ORACLE() sem um argumento resulta em um erro:
SELECT TRIM_ORACLE();

Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1