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

Как OCTET_LENGTH() работи в MariaDB

В MariaDB, OCTET_LENGTH() е вградена низова функция, която връща дължината на дадения низ аргумент, измерена в октети (байтове).

OCTET_LENGTH() е синоним на LENGTHB() .

Това също е синоним на LENGTH() когато не е в режим на Oracle (LENGTH() се държи различно в режим на Oracle).

Синтаксис

Синтаксисът е така:

OCTET_LENGTH(str) 

Където str е низът, за който ще бъде върната дължината.

Пример

Ето един основен пример:

SELECT OCTET_LENGTH('café'); 

Резултат:

<пред>+-----------------------+| OCTET_LENGTH('кафене') |+-----------------------+| 5 |+-----------------------+

В този случай низът е дълъг четири знака, но OCTET_LENGTH() върна 5 . Това е така, защото последният символ използва два октета/байта.

Сравнение с CHAR_LENGTH() и BIT_LENGTH()

Ето едно бързо сравнение между OCTET_LENGTH() , CHAR_LENGTH() (който връща броя на знаците в низа) и BIT_LENGTH() (който връща броя на битовете в низа):

SELECT 
    OCTET_LENGTH('อ'),
    CHAR_LENGTH('อ'),
    BIT_LENGTH('อ'); 

Резултат:

+---------------------+--------------------+--- ----------------+| OCTET_LENGTH('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') |+---------------------+------------------- +------------------+| 3 | 1 | 24 |+---------------------+--------------------+---- ---------------+

Този тайландски знак ( ) използва 3 байта и следователно OCTET_LENGTH() връща 3 .

CHAR_LENGTH() връща броя на знаците (1 ) и BIT_LENGTH() връща броя на битовете (24 ).

Не-низови

Ако аргументът не е низ, той се преобразува в низ.

Ето още един пример, който използва число:

SELECT OCTET_LENGTH(1234); 

Резултат:

+-------------------+| OCTET_LENGTH(1234) |+-------------------+| 4 |+-------------------+

Нулеви аргументи

Предаването на null връща null :

SELECT OCTET_LENGTH(null); 

Резултат:

+-------------------+| OCTET_LENGTH(нула) |+-------------------+| NULL |+-------------------+

Липсващ аргумент

Извикване на OCTET_LENGTH() без подаване на аргумент води до грешка:

SELECT OCTET_LENGTH(); 

Резултат:

ГРЕШКА 1582 (42000):Неправилен брой параметри в извикването на естествена функция „OCTET_LENGTH“

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Благодарим ви, Amazon, че ни вдъхновявате да предоставим по-добър DBaaS:SkySQL

  2. Мигриране от MySQL Enterprise към MariaDB 10.3

  3. Мониторинг на сигурността на базата данни за MySQL и MariaDB

  4. ClusterControl - Разширено управление на архивиране - mariabackup, част II

  5. MaxScale Basic Management Използвайки MaxCtrl за MariaDB Cluster