W MariaDB, CHARSET()
jest drugorzędną funkcją wbudowaną, która zwraca zestaw znaków danego ciągu.
Podajemy ciąg znaków, gdy wywołujemy funkcję.
Składnia
Składnia wygląda tak:
CHARSET(str)
Gdzie str
jest ciągiem.
Przykład
Oto prosty przykład:
SELECT CHARSET('Toast');
Wynik:
+------------------+ | CHARSET('Toast') | +------------------+ | utf8 | +------------------+
I oto znowu po tym, jak skonwertujemy ten sam ciąg do utf16:
SELECT CHARSET(CONVERT('Toast' USING utf16));
Wynik:
+---------------------------------------+ | CHARSET(CONVERT('Toast' USING utf16)) | +---------------------------------------+ | utf16 | +---------------------------------------+
A oto kolejny przykład, który używa znaków tajskich:
SELECT CHARSET(_tis620'ไม้เมือง');
Wynik:
+--------------------------------------------+ | CHARSET(_tis620'ไม้เมือง') | +--------------------------------------------+ | tis620 | +--------------------------------------------+
Niewłaściwy typ argumentu
Przekazanie argumentu, który nie jest ciągiem, skutkuje słowem binary
zostanie zwrócony.
SELECT CHARSET(123);
Wynik:
+--------------+ | CHARSET(123) | +--------------+ | binary | +--------------+
Argumenty zerowe
Przekazywanie null
wyniki w słowie binary
zostanie zwrócony.
SELECT CHARSET(null);
Wynik:
+---------------+ | CHARSET(null) | +---------------+ | binary | +---------------+
Brakujący argument
Wywołanie CHARSET()
bez przekazania argumentu powoduje błąd:
SELECT CHARSET();
Wynik:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1