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

Różnica między TRIM() i TRIM_ORACLE() w MariaDB

MariaDB ma TRIM() funkcja i TRIM_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:

  • TRIM() usuwa znaki z początku lub końca 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.
  • TRIM_ORACLE() jest synonimem wersji TRIM() w trybie Oracle . Zachowuje się jak TRIM() w trybie Oracle (zwraca null po przekazaniu pustego ciągu), nawet jeśli nie jest w trybie Oracle.

Więc TRIM_ORACLE() działa dokładnie tak jak TRIM() 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
    TRIM(''),
    TRIM_ORACLE('');

Wynik:

+----------+-----------------+
| TRIM('') | TRIM_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 TRIM() zwraca pusty ciąg, podczas gdy TRIM_ORACLE() zwraca null .

Tryb Oracle

Teraz ustawmy go w trybie Oracle i ponownie uruchom kod:

SET SQL_MODE=ORACLE;
SELECT
    TRIM(''),
    TRIM_ORACLE('');

Wynik:

+----------+-----------------+
| TRIM('') | TRIM_ORACLE('') |
+----------+-----------------+
| NULL     | NULL            |
+----------+-----------------+

Widzimy, że TRIM() teraz zachowuje się jak TRIM_ORACLE() .

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

TRIM_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. Radzenie sobie z zawodnymi sieciami podczas tworzenia rozwiązania HA dla MySQL lub MariaDB

  2. 2 sposoby zwracania wierszy zawierających tylko znaki alfanumeryczne w MariaDB

  3. Jak WEEK() działa w MariaDB

  4. MariaDB DZIEŃ () Wyjaśnione

  5. Tworzenie zimnej gotowości bazy danych MySQL lub MariaDB na Amazon AWS