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

MariaDB LTRIM() срещу LTRIM_ORACLE():Каква е разликата?

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

Разликата

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

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

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

Пример

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

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

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

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

Резултат:

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

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

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

Режим Oracle

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

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

Резултат:

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

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

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

LTRIM_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. Работа с големи обеми данни с MySQL и MariaDB

  2. 4 функции за връщане на месеца от дата в MariaDB

  3. 4 начина да получите съпоставяне на база данни в MariaDB

  4. Как да извадите часове от стойност на дата и час в MariaDB

  5. Какво е отклонение на заявката и как да го коригирам