Char (MySQL)
Versie door Jeroen Strompf (overleg | bijdragen) op 1 dec 2019 om 06:36
Functie CHAR (N, ... [USING charset_name])
interpreteert argumenten N als integere waardes, en retourneert de bijbehorende karakters volgens de opgegeven karakterset (met ASCII als standaard-karakterset).
- Er worden alleen waardes tot en met 256 geaccepteerd. Waardes hierboven, worden gesplitst in aparte bytes
- Je kunt geen 'namen' of 'codenamen' voor karakters meegeven. Er is dus niet zoiets als
char(\nbsp)
.
Voorbeelden
mysql> select char(65); +----------+ | char(65) | +----------+ | A | +----------+ 1 row in set (0,00 sec)
En dat kan ook in hexadecimaal:
mysql> select char(0x41); +------------+ | char(0x41) | +------------+ | A | +------------+ 1 row in set (0,01 sec)
Voor meerdere tekens achter elkaar, moet je de cijfers scheiden met komma's. Bv.:
select char(65, 66, 67); >>> ABC select char(0x41, 0x42, 0x43); >>> ABC
Je kunt char
moeiteloos incorporeren in tekststrings. Bv.:
select * from device_tmp where brand like concat("%", char(65), "%");
Dat geldt ook voor meerdere karakters:
select * from device_tmp where brand like concat("%", char(65), char(69), "%"); >>> AEG...
Je kunt de te gebruiken karakterset specificeren. Ik ken daar zo snel geen toepassing voor, omdat char
uitsluitend waardes 0-255 accepteert, en voor de karaktersets die ik in het wild tegenkome, zijn de eerste 256 waardes hetzelfde als ASCII. Desalniettemin, zo doe je dat:
select char(65 using utf8); >>> A