Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak łączyć ciągi w MySQL za pomocą CONCAT()

MySQL ma funkcję CONCAT() funkcja, która pozwala na łączenie dwóch lub więcej ciągów. Funkcja faktycznie pozwala na jeden lub więcej argumentów, ale jej głównym zastosowaniem jest łączenie dwóch lub więcej ciągów.

W MySQL (i w dowolnym środowisku programowania komputerowego) konkatenacja ciągów jest operacją łączenia ciągów znaków od końca do końca.

Oto przykład:

SELECT CONCAT('Homer', ' ', 'Simpson') AS 'Full Name';

Wynik:

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Zauważ, że w rzeczywistości połączyłem tutaj 3 ciągi. Połączyłem imię, nazwisko i spację.

Gdybym nie dodał spacji, wyglądałoby to tak:

SELECT CONCAT('Homer', 'Simpson') AS 'Full Name';

Wynik:

+--------------+
| Full Name    |
+--------------+
| HomerSimpson |
+--------------+

Który może, ale nie musi być wynikiem, którego szukasz.

Więc jeśli zastosujemy to do bazy danych, zapytanie może wyglądać mniej więcej tak:

SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name'
FROM Individuals
WHERE IndividualId = '1';

Wynik:

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Jeśli łączysz więcej niż dwa ciągi i potrzebujesz spacji (lub innego separatora), rozważ użycie CONCAT_WS() funkcjonować. Pozwala to określić separator, który będzie używany pomiędzy każdym ciągiem. Musisz określić separator tylko raz i jest on używany w każdym połączonym ciągu, dzięki czemu nie musisz ponownie wpisywać go między każdym ciągiem.

Argumenty NULL

CONCAT() funkcja zwraca NULL jeśli jakikolwiek argument jest NULL .

Przykład:

SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';

Wynik:

+-----------+
| Full Name |
+-----------+
| NULL      |
+-----------+

Ciągi binarne a ciągi niebinarne

Dokumentacja MySQL stwierdza:

Jeśli wszystkie argumenty są łańcuchami niebinarnymi, wynikiem jest łańcuch niebinarny. Jeśli argumenty zawierają jakiekolwiek ciągi binarne, wynikiem jest ciąg binarny. Argument numeryczny jest konwertowany na jego odpowiednik niebinarny w postaci łańcucha.


  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 NOT RLIKE działa w MySQL?

  2. Czy w MySQL mogę odroczyć sprawdzanie integralności referencyjnej do momentu zatwierdzenia?

  3. Zabezpieczanie serwera MySQL

  4. MICROSECOND() Przykład – MySQL

  5. JSON_INSERT() – Wstaw wartości do dokumentu JSON w MySQL