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

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

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

Синтаксис

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

CHAR_LENGTH(str) 

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

Пример

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

SELECT CHAR_LENGTH('Splash'); 

Резултат:

<пред>+-----------------------+| CHAR_LENGTH('Пръскане') |+-----------------------+| 6 |+-----------------------+

Многобайтови символи

CHAR_LENGTH() функцията отчита всеки знак като единичен знак, независимо колко байта използва. Следователно знаците, които използват два, три или дори четири байта, пак ще се отчитат като един знак.

Това е в контраст с функции като LENGTH() , който връща броя на байтовете (освен ако не е в режим на Oracle, в този случай прави същото като CHAR_LENGTH() – връща броя на знаците). Освен това е в контраст с функции като BIT_LENGTH() който връща броя на битовете в низ.

Ето пример, който сравнява тези функции:

SELECT 
    CHAR_LENGTH('©'),
    LENGTH('©'),
    BIT_LENGTH('©'); 

Резултат:

+------------------+--------------+---------- -------+| CHAR_LENGTH('©') | LENGTH('©') | BIT_LENGTH('©') |+------------------+--------------+------- -----------+| 1 | 2 | 16 |+-------------------+--------------+------------ ------+

Символът за авторско право (© ) използва два байта. CHAR_LENGTH() връща 1, защото все още е само един знак. LENGTH() и BIT_LENGTH() от друга страна, върнете съответно броя байтове и битове.

Този пример беше направен с помощта на SQL_MODE по подразбиране . Както споменахме, ако беше в режим на Oracle, LENGTH() би се държал като CHAR_LENGTH() и върна 1 .

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

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

SELECT CHAR_LENGTH(null); 

Резултат:

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

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

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

SELECT CHAR_LENGTH(); 

Резултат:

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

Вижте също CHARACTER_LENGTH() функция, която е синоним на CHAR_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. MariaDB Единици за дата и време

  2. Инсталиране на MariaDB 10.1 в Debian Jessie и изпълнение на различни заявки за MariaDB

  3. Защита на MySQL архиви:Ръководство

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

  5. Сравняване на времената за отказ за Amazon Aurora, Amazon RDS и ClusterControl