MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Разлика между TRIM() и TRIM_ORACLE() в MariaDB

MariaDB има TRIM() функция и TRIM_ORACLE() функция. И двете функции правят по същество едно и също нещо. Но има малка разлика.

Разликата

Разликата е в това как всяка функция се справя с празните низове:

  • TRIM() премахва знаци от началото или края на низ. Когато се подаде празен низ, резултатът ще зависи от това дали сте в режим на Oracle или не. Ако е в режим на Oracle, той връща null . В противен случай връща празен низ.
  • TRIM_ORACLE() е синоним на версията на TRIM() в режим Oracle . Той се държи като TRIM() в режим на Oracle (връща null когато се предава празен низ), дори когато не е в режим на Oracle.

Така че TRIM_ORACLE() работи точно като TRIM() когато е в режим на Oracle. Но когато не е в режим на Oracle, единствената разлика е как всяка функция се справя с празните низове.

Пример

Това е най-добре обяснено с пример.

Режим по подразбиране

Ето сравнение на тези функции в режим по подразбиране:

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

Резултат:

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

Първо, настроих системата си в режим по подразбиране (въпреки че вероятно вече беше в режим по подразбиране), след това стартирах и двете функции с празен низ.

Можем да видим, че TRIM() връща празен низ, докато TRIM_ORACLE() връща null .

Режим Oracle

Сега нека го настроим в режим Oracle и стартираме кода отново:

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

Резултат:

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

Можем да видим, че TRIM() сега се държи като TRIM_ORACLE() .

И така, с TRIM() , трябва изрично да преминем към режим на Oracle, преди да го накараме да се държи като версията на Oracle на TRIM() .

TRIM_ORACLE() от друга страна, е наличен във всички режими, така че ни спестява да преминем към режим на 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. Как работи SLEEP() в MariaDB

  2. Сравнителен анализ на ръчно внедряване на база данни срещу автоматизирано внедряване

  3. Как работи CONVERT_TZ() в MariaDB

  4. Как работи UNCOMPRESSED_LENGTH() в MariaDB

  5. Четири неща, които не знаехте за Amazon Aurora