Oto dwa sposoby łączenia ciągów i liczb w MariaDB:
- Użyj
CONCAT()
funkcja, która łączy swoje argumenty. - Użyj operatora konkatenacji potoku (
||
), który łączy jego operandy.
Poniżej znajdują się przykłady każdego z nich.
CONCAT()
Funkcja
CONCAT()
funkcja łączy swoje argumenty. Chociaż jest to funkcja łańcuchowa, może obsługiwać argumenty numeryczne (i binarne). Każda wartość liczbowa jest konwertowana na jej odpowiednik w postaci ciągu binarnego (w przeciwieństwie do MySQL, który zwraca niebinarny ciąg).
Przykład:
SELECT CONCAT('Agent', 47);
Wynik:
Agent47
Spacje można dodawać, dodając spację do istniejącego ciągu lub łącząc, dołączając trzeci argument, który składa się wyłącznie ze spacji:
SELECT
CONCAT('Agent ', 47) AS "Option 1",
CONCAT('Agent', ' ', 47) AS "Option 2";
Wynik:
+----------+----------+ | Option 1 | Option 2 | +----------+----------+ | Agent 47 | Agent 47 | +----------+----------+
Jeśli nie chcesz, aby wartość liczbowa została przekonwertowana na jej odpowiednik w postaci ciągu binarnego, możesz jawnie rzutować ją przed operacją łączenia.
Przykład:
SELECT CONCAT('Agent', CAST(47 AS char));
Wynik:
Agent47
Operator konkatenacji potoku (||
)
W tym przykładzie użyto operatora konkatenacji (||
):
SELECT 'Agent ' || 47;
Wynik:
Agent 47
W tym przypadku dodałem spację do pierwszego argumentu.
Zauważ, że operator konkatenacji potoku musi być najpierw włączony, zanim będzie można go używać w ten sposób. Domyślnie MariaDB traktuje ||
jako synonim OR
operator logiczny. Próba użycia go jako operatora łączenia może dać nieoczekiwane wyniki, jeśli najpierw nie włączysz go jako operatora łączenia potoku.