In questo tutorial, esamineremo come utilizzare le funzioni MySQL predefinite per determinare la lunghezza di una stringa.
Le basi
Senza immergersi in profondità in set di caratteri, MySQL supporta una vasta selezione di set di caratteri. Ogni set di caratteri contiene una lunghezza massima di byte che può archiviare per carattere.
Per saperne di più sul set di caratteri supportati e sulla loro lunghezza massima, utilizzare la risorsa fornita di seguito:
https: // dev.mysql.com/doc/refman/8.0/en/chatset-charset.html
In Mysql, una stringa può essere in uno qualsiasi dei set di caratteri supportati. Per determinare la lunghezza di una stringa, è possibile utilizzare il metodo byte o il metodo del carattere.
Il metodo byte restituisce la lunghezza della stringa specificata in byte. Se una stringa contiene un set di caratteri a 1 byte, la lunghezza della stringa è uguale al numero di caratteri.
Tuttavia, se la stringa specificata contiene caratteri multi-byte, il numero dei caratteri non è uguale alla lunghezza della stringa.
Usando mysql caratteri_length ()
Per ottenere la lunghezza di una stringa nei caratteri, è possibile utilizzare la funzione caratteristica_length (). Questa funzione è sinonimo della funzione char_length (). Funziona contando il numero di caratteri in una stringa indipendentemente dal fatto che si tratti di un personaggio singolo o multi-byte.
Prendiamo la tabella di campagna nel database Sakila. Per ottenere la durata delle stringhe del nome del paese, possiamo usare una domanda come:
Seleziona il paese, char_length (paese) come lunghezzaLa query sopra dovrebbe restituire la durata dei nomi di campagna.
Usando la lunghezza mysql ()
Per ottenere la lunghezza di una stringa in byte, utilizziamo la funzione lunghezza (). In questo caso, la funzione tiene conto se si tratta di un personaggio singolo o multi-byte.
Possiamo applicare l'esempio sopra come mostrato nella query seguente:
Seleziona Paese, lunghezza (paese) come lunghezzaIn questo esempio, i valori sono in byte anziché nei caratteri. Poiché gli esempi di cui sopra utilizzano caratteri singoli, potresti non notare la differenza.
Tuttavia, su un carattere multi-byte come valore kanji per il paese, i valori sono diversi.
Considera la query di seguito:
Seleziona char_length ('国') come lunghezza_in_char;Una volta eseguita la query sopra, dovremmo ottenere la lunghezza come 1.
+----------------+Considera la stessa query usando la funzione lunghezza ().
Seleziona lunghezza ('国') come lunghezza_in_byte;In questo caso, la lunghezza è 3.
+-----------------+Conclusione
Questa guida ti ha mostrato come utilizzare le funzioni MySQL integrate per ottenere la lunghezza di una stringa in byte e caratteri.
Grazie per aver letto!