Wprowadzenie do funkcji MySQL String

MySQL ma różne wbudowane funkcje, które odciążają programistów od prostych zadań, takich jak formatowanie łańcuchów i pozwalają skupić się na rozwiązaniu większego problemu. W ten sposób programiści nie muszą się martwić pisaniem skryptów do wykonywania prostych zadań. Zajmują się tym wbudowane funkcje. Programiści muszą skoncentrować się na tym, jak i gdzie korzystać z tych wbudowanych funkcji, aby osiągnąć efekt końcowy.

Jedną z takich kategorii wbudowanych funkcji są funkcje łańcuchowe MySQL. Formatowanie łańcucha, takie jak konkatenacja, wyświetlanie w określonym formacie, wstawianie / usuwanie podciągów itp. Może być czasem uciążliwym zadaniem. Zajmują się tym za pomocą ciągów znaków MySQL.

Aby zilustrować różne funkcje MySQL String, musimy najpierw utworzyć bazę danych. We wszystkich przykładach będzie się odnosić do następującej bazy danych:

Funkcje ciąg MySQL

Funkcja string jest łatwa w użyciu. Tutaj omówimy, jak używać funkcji łańcuchowych w programowaniu MySQL za pomocą przykładów

1. ASCII (str)

Zwraca wartość ASCII najbardziej wysuniętego w lewo znaku ciągu str .

Select FirstName, ASCII(FirstName) from Person

2. BIN (N)

Zwraca binarny odpowiednik N, gdzie N jest Int / BigInt.

Select Phone, BIN(Phone) from Person

3. BIT_LENGTH (str)

Zwraca długość łańcucha str w bitach.

Select FirstName, BIT_LENGTH(FirstName) from Person

4. CHAR_LENGTH (str)

Zwraca długość łańcucha str w znakach.

Select FirstName, CHAR_LENGTH(FirstName) from Person

5. CONCAT (str1, str2, …., Strn)

Zwraca ciąg utworzony przez połączenie str1 z strn. Jeśli dowolny podłańcuch ma wartość NULL, wynik ma wartość NULL.

Select FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person

6. CONCAT_WS (separator, str1, …, strn)

Zwraca połączony ciąg oddzielony separatorem.

Select FirstName, LastName, CONCAT_WS(' ', FirstName, LastName) as DisplayName from Person

Select FirstName, LastName, CONCAT_WS(', ', LastName, FirstName) as DisplayName from Person

7. POLA (str, str1, str2, …, strn)

Zwraca pozycję indeksu ciągu str między str1 na strn . Zwraca 0, jeśli nie znaleziono.

Select FirstName, LastName, FIELD('John', FirstName, LastName) as IsJohn from Person

8. FORMAT (x, D)

Formatuje liczbę X na „#, ###, ###. ##” do wyświetlenia. D jest liczbą miejsc dziesiętnych. Domyślnie jest to format en-US.

Select FORMAT(Phone, 0) as Phone from Person

9. HEX (str) / UNHEX (hex_str)

Zwraca szesnastkowy odpowiednik ciągu str. UNHEX zwraca rzeczywisty ciąg.

Select FirstName, HEX(FirstName) from Person

10. WSTAW (str, pos, len, newstr)

Zastępuje podłańcuch rozpoczynający się od pozycji pos i długości len w ciągu str przez newstr.

Select FirstName, LastName, INSERT(LastName, 3, 20, FirstName) as LoginID from Person

11. INSTR (str, substr) / LOCATE (substr, str) / POSITION (substr IN str)

Zwraca pozycję pierwszego wystąpienia substr w str.

Select FirstName, INSTR(FirstName, 'oo'), LOCATE('hn', FirstName), POSITION('al' IN FirstName) from Person

12. LCASE () / LOWER () i UCASE () / UPPER ()

Konwertuje ciąg na małe i wielkie litery.

Select FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person

13. LEWO (str, len) / PRAWO (str, len)

Zwraca lewą i prawą literę znaków len z łańcucha str.

Select FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person

14. LENGTH (str) / OCTET_LENGTH (str)

Zwraca długość ciągu str w bajtach. Jest to bardzo podobne do funkcji CHAR_LENGTH. Różnica pojawia się, gdy w ciągu znajdują się znaki wielobajtowe.

Select CHAR_LENGTH('€'), Length('€')

Dzieje się tak, ponieważ znak Euro (€) zajmuje 3 bajty pamięci.

15. LPAD (str, len, padstr) / RPAD (str, len, padstr)

Wstawia podłańcuch od pozycji 0 łańcucha padstr na początku i na końcu łańcucha str, dopóki wynikowy łańcuch nie będzie zawierał znaków len.

Select FirstName, LastName, LPAD(CONCAT_WS(' ', FirstName, LastName), Char_Length(CONCAT_WS(' ', FirstName, LastName))+Char_Length('Mr. '), 'Mr. ') as DisplayName from Person

16. LTRIM (str) / RTRIM (str) / TRIM (str)

Zwraca ciąg stru po przycięciu białych znaków od lewej, prawej lub obu końców.

Select LTRIM(' abc ') as L, RTRIM(' abc ') as R, TRIM(' abc ') as T

17. MID (str, pos, len) / SUBSTRING (str, pos, len)

Zwraca podciąg z łańcucha str zaczynającego się w pozycji poz długości len.

Select FirstName, SUBSTRING(FirstName, 2, 4) as a sub from Person

18. QUOTE (str)

To zapytanie cytuje i cofa cytowanie ciągu str. Znaki specjalne są usuwane.

Select Address, QUOTE(Address) from Person

19. REPLACE (str, from_str, to_str)

Zamienia wszystkie wystąpienia podciągu from_str na pod-string to_str w ciągu str . Rozróżniana jest wielkość liter.

Select Address, REPLACE(Address, 'S', 'ss') from Person

20. REVERSE (str)

Odwraca ciąg str.

Select FirstName, REVERSE(FirstName) from Person

21. PRZESTRZEŃ (N)

Ten jest dość zabawny. Zwraca po prostu ciąg N pustych spacji. Teraz zastanawiam się, co skłoniło ich do stworzenia tej funkcji! W każdym razie, wypróbuj to sam.

22. SUBSTR (str, pos) / SUBSTRING (str, pos) / SUBSTR (str, pos, len) / SUBSTRING (str, pos, len)

Zwraca podciąg z ciągu str zaczynającego się od pozycji pos, aż do końca, jeśli nie określono len lub w przeciwnym razie dla znaków len. Pamiętaj, że indeks zaczyna się od 1 w MySQL.

Select FirstName, LastName, SUBSTR(FirstName, 2), SUBSTRING(LastName, 2, 2) from Person

23. SUBSTRING_INDEX (str, delim, count)

Zwraca podciąg z ciągu str przed lub po wystąpieniu liczby znaku separatora. Jeśli liczba jest dodatnia, zwracany jest ciąg podrzędny przed wystąpieniem. Jeśli liczba jest ujemna, zwracany jest ciąg podrzędny po wystąpieniu.

Select Address, SUBSTRING_INDEX(Address, '-', 1) as House, SUBSTRING_INDEX(Address, ', ', 1) as Street, SUBSTRING_INDEX(Address, ', ', -1) as City from Person

Wniosek - funkcje MySQL String

Czy uważasz, że niektóre z tych funkcji są pomocne? Czy któryś z tych elementów pomógł ci rozwiązać istniejący przypadek użycia? Jestem pewien, że tak. Nie tylko funkcje łańcuchowe, ale także wbudowane funkcje MySQL to świetny sposób na uzyskanie wyników przy minimalnych zapytaniach, a tym samym ponowne wykorzystanie istniejącego kodu i wykorzystanie możliwości frameworka do jego pełnej pojemności.

Polecane artykuły

Jest to przewodnik po funkcjach MySQL String. Tutaj omówiliśmy, jak używać funkcji łańcuchowej w programowaniu MySQL za pomocą przykładów. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Różne typy operatorów MySQL
  2. Jak zainstalować MySQL?
  3. Podstawowe i zaawansowane polecenia MySQL.
  4. Ściągawka MySQL
  5. Jak zaimplementować polecenie Insert w MySQL?