MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

MariaDB LTRIM() vs LTRIM_ORACLE():jaka jest różnica?

MariaDB ma LTRIM() funkcja i LTRIM_ORACLE() funkcjonować. Obie funkcje robią zasadniczo to samo. Ale jest niewielka różnica.

Różnica

Różnica polega na tym, jak każda funkcja radzi sobie z pustymi ciągami:

  • LTRIM() usuwa wiodące spacje z ciągu. Po przekazaniu pustego ciągu wynik będzie zależał od tego, czy jesteś w trybie Oracle, czy nie. W trybie Oracle zwraca null . W przeciwnym razie zwraca pusty ciąg.
  • LTRIM_ORACLE() jest synonimem wersji LTRIM() w trybie Oracle . Zachowuje się jak LTRIM() w trybie Oracle (zwraca null po przekazaniu pustego ciągu), nawet jeśli nie jest w trybie Oracle.

Więc LTRIM_ORACLE() działa dokładnie tak jak LTRIM() w trybie Oracle. Ale kiedy nie jest w trybie Oracle, jedyną różnicą jest to, jak każda funkcja radzi sobie z pustymi ciągami.

Przykład

Najlepiej to wyjaśnić na przykładzie.

Tryb domyślny

Oto porównanie tych funkcji w trybie domyślnym:

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

Wynik:

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

Najpierw ustawiłem swój system w tryb domyślny (choć prawdopodobnie był już w trybie domyślnym), a następnie uruchomiłem obie funkcje z pustym ciągiem.

Widzimy, że LTRIM() zwraca pusty ciąg, podczas gdy LTRIM_ORACLE() zwraca null .

Tryb Oracle

Teraz ustawmy go w trybie Oracle i ponownie uruchom kod:

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

Wynik:

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

Widzimy, że LTRIM() teraz zachowuje się jak LTRIM_ORACLE() .

Tak więc za pomocą LTRIM() , musimy jawnie przełączyć się na tryb Oracle, zanim sprawimy, by zachowywał się jak wersja Oracle LTRIM() .

LTRIM_ORACLE() z drugiej strony jest dostępny we wszystkich trybach, dzięki czemu nie musimy przełączać się na tryb Oracle.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_VALUE() vs JSON_QUERY():jaka jest różnica?

  2. Jak TIMEDIFF() działa w MariaDB

  3. Wdrażanie MySQL, MariaDB, Percona Server, MongoDB lub PostgreSQL — łatwe dzięki ClusterControl

  4. Jak zainstalować MariaDB w Rocky Linux i AlmaLinux

  5. Jak LEFT() działa w MariaDB