Funkcja długości łańcucha mysql

Funkcja długości łańcucha mysql
MySQL zapewnia nam zbiór narzędzi i wbudowanych funkcji manipulowania różnymi typami danych i rekordów w bazie danych. Niektóre powszechne i przydatne funkcje to funkcje ciągów i operatorzy.

W tym samouczku przyjrzymy się, jak używać wstępnie zdefiniowanych funkcji MySQL, aby określić długość łańcucha.

Podstawy

Bez nurkowania głęboko w zestawy znaków, MySQL obsługuje szeroki wybór zestawów znaków. Każdy zestaw znaków zawiera maksymalną długość bajtów, które może przechowywać na znak.

Aby dowiedzieć się więcej o obsługiwanym zestawie znaków i ich maksymalnej długości, użyj zasobów podanych poniżej:

https: // dev.Mysql.com/doc/refman/8.0/en/charset-charsets.html

W MySQL ciąg może znajdować się w dowolnym z obsługiwanych zestawów znaków. Aby określić długość łańcucha, możesz użyć metody bajtów lub metody znaku.

Metoda bajtów zwraca długość określonego ciągu w bajtach. Jeśli ciąg zawiera zestaw znaków 1-bajtowych, długość łańcucha jest równa liczbie znaków.

Jeśli jednak określony ciąg zawiera znaki wiele-byt, liczba znaków nie jest równa długości ciągu.

Używając MySQL Character_Length ()

Aby uzyskać długość łańcucha w znakach, możesz użyć funkcji Character_length (). Ta funkcja jest synonimem funkcji char_length (). Działa, zliczając liczbę znaków w ciągu niezależnie od tego, czy jest to postać jednopajodowa czy wielokrotnie.

Weźmy stolik krajowy w bazie danych Sakila. Aby uzyskać długość sznurków nazwy kraju, możemy użyć zapytania jako:

Wybierz kraj, Char_Length (kraj) jako długość
Z kraju
Zamów według długości
Limit 10;

Powyższe zapytanie powinno zwrócić długość nazw krajów.

Za pomocą długości MySQL ()

Aby uzyskać długość łańcucha w bajtach, używamy funkcji długości (). W takim przypadku funkcja uwzględnia, czy jest to postać jednopajtowa, czy multi-byte.

Możemy zastosować powyższy przykład, jak pokazano w zapytaniu poniżej:

Wybierz kraj, długość (kraj) jako długość
Z kraju
Zamów według długości
Limit 10;

W tym przykładzie wartości są w bajtach zamiast znaków. Ponieważ powyższe przykłady używają znaków jednopajtowych, możesz nie zauważać różnicy.

Jednak o postaci wielu bytów jako wartości kanji dla kraju, wartości są różne.

Rozważ pytanie poniżej:

Wybierz char_length ('国') jako długość_in_char;

Po uruchomieniu powyższego zapytania powinniśmy uzyskać długość jako 1.

+----------------+
|. długość_in_char |
+----------------+
|. 1 |
+----------------+

Rozważ to samo zapytanie za pomocą funkcji długości ().

Wybierz długość ('国') jako długość_in_bytes;

W tym przypadku długość wynosi 3.

+-----------------+
|. długość_in_bytes |
+-----------------+
|. 3 |
+-----------------+

Wniosek

Ten przewodnik pokazał, jak korzystać z wbudowanych funkcji MySQL, aby uzyskać długość łańcucha w bajtach i znakach.

Dziękuję za przeczytanie!