sql >> Databáze >  >> RDS >> MariaDB

MariaDB LTRIM() vs LTRIM_ORACLE():Jaký je rozdíl?

MariaDB má LTRIM() funkce a LTRIM_ORACLE() funkce. Obě funkce dělají v podstatě totéž. Ale je tu menší rozdíl.

Rozdíl

Rozdíl je v tom, jak každá funkce pracuje s prázdnými řetězci:

  • LTRIM() odstraní úvodní mezery z řetězce. Po předání prázdného řetězce bude výsledek záviset na tom, zda jste v režimu Oracle nebo ne. Pokud je v režimu Oracle, vrátí null . Jinak vrátí prázdný řetězec.
  • LTRIM_ORACLE() je synonymem pro verzi LTRIM() v režimu Oracle . Chová se jako LTRIM() v režimu Oracle (vrací null při předání prázdného řetězce), i když není v režimu Oracle.

Takže LTRIM_ORACLE() funguje přesně jako LTRIM() v režimu Oracle. Ale když není v režimu Oracle, jediný rozdíl je v tom, jak každá funkce pracuje s prázdnými řetězci.

Příklad

Nejlépe to vysvětlí příklad.

Výchozí režim

Zde je srovnání těchto funkcí ve výchozím režimu:

SET SQL_MODE=DEFAULT;
SELECT
    LTRIM(''),
    LTRIM_ORACLE('');

Výsledek:

+-----------+------------------+
| LTRIM('') | LTRIM_ORACLE('') |
+-----------+------------------+
|           | NULL             |
+-----------+------------------+

Nejprve jsem nastavil svůj systém do výchozího režimu (i když pravděpodobně již byl ve výchozím režimu), poté jsem obě funkce spustil s prázdným řetězcem.

Vidíme, že LTRIM() vrátí prázdný řetězec, zatímco LTRIM_ORACLE() vrátí null .

Režim Oracle

Nyní jej nastavte do režimu Oracle a spusťte kód znovu:

SET SQL_MODE=ORACLE;
SELECT
    LTRIM(''),
    LTRIM_ORACLE('');

Výsledek:

+-----------+------------------+
| LTRIM('') | LTRIM_ORACLE('') |
+-----------+------------------+
| NULL      | NULL             |
+-----------+------------------+

Vidíme, že LTRIM() se nyní chová jako LTRIM_ORACLE() .

Takže pomocí LTRIM() , musíme se explicitně přepnout do režimu Oracle, než se začne chovat jako verze Oracle LTRIM() .

LTRIM_ORACLE() na druhou stranu je k dispozici ve všech režimech, takže nás ušetří přepínání do režimu Oracle.


  1. Funkce MySQL LOG2() – Vrátí základní-2 logaritmus hodnoty

  2. Jak odkazovat na klíče JSON, které obsahují speciální znaky při používání OPENJSON, JSON_QUERY a JSON_VALUE (SQL Server)

  3. Spuštění PostgreSQL pomocí Amazon RDS

  4. Export výsledků dotazu Mysql do excelu?