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

Jak OCTET_LENGTH() działa w MariaDB

W MariaDB, OCTET_LENGTH() jest wbudowaną funkcją łańcuchową, która zwraca długość podanego argumentu łańcuchowego, mierzoną w oktetach (bajtach).

OCTET_LENGTH() jest synonimem LENGTHB() .

Jest to również synonim LENGTH() gdy nie jest w trybie Oracle (LENGTH() zachowuje się inaczej w trybie Oracle).

Składnia

Składnia wygląda tak:

OCTET_LENGTH(str)

Gdzie str to ciąg, dla którego zostanie zwrócona długość.

Przykład

Oto podstawowy przykład:

SELECT OCTET_LENGTH('café');

Wynik:

+-----------------------+
| OCTET_LENGTH('café')  |
+-----------------------+
|                     5 |
+-----------------------+

W tym przypadku ciąg miał cztery znaki, ale OCTET_LENGTH() zwrócono 5 . Dzieje się tak, ponieważ ostatni znak używa dwóch oktetów/bajtów.

Porównanie z CHAR_LENGTH() i BIT_LENGTH()

Oto szybkie porównanie między OCTET_LENGTH() , CHAR_LENGTH() (co zwraca liczbę znaków w ciągu) i BIT_LENGTH() (co zwraca liczbę bitów w ciągu):

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

Wynik:

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

Ten znak tajski ( ) używa 3 bajtów, a zatem OCTET_LENGTH() zwraca 3 .

CHAR_LENGTH() zwraca liczbę znaków (1 ) i BIT_LENGTH() zwraca liczbę bitów (24 ).

Nie-Strunowe

Jeśli argument nie jest łańcuchem, jest konwertowany na łańcuch.

Oto kolejny przykład z liczbą:

SELECT OCTET_LENGTH(1234);

Wynik:

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

Argumenty zerowe

Przekazywanie null zwraca null :

SELECT OCTET_LENGTH(null);

Wynik:

+--------------------+
| OCTET_LENGTH(null) |
+--------------------+
|               NULL |
+--------------------+

Brakujący argument

Wywołanie OCTET_LENGTH() bez przekazania argumentu powoduje błąd:

SELECT OCTET_LENGTH();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function '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. Jak zatrzymać lub dławić operację SST w klastrze Galera?

  2. Uruchamianie ProxySQL jako kontenera pomocniczego na Kubernetes

  3. Jak REGEXP_SUBSTR() działa w MariaDB

  4. Jak wdrożyć klaster MariaDB w celu zapewnienia wysokiej dostępności

  5. Jak podłączyć programy C++ do MariaDB