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ść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ść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.
+----------------+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.
+-----------------+Wniosek
Ten przewodnik pokazał, jak korzystać z wbudowanych funkcji MySQL, aby uzyskać długość łańcucha w bajtach i znakach.
Dziękuję za przeczytanie!