2011-06-05 1 views
1

Dans une requête MySQL J'ai cette ligne dans l'instruction SELECT:MySQL Ajouter des points (..) quand court-circuité chaîne

IF(LENGTH(adr.klantnaam) > 20, LEFT(CONCAT(adr.klantnaam,'..'),20), adr.klantnaam) AS klantnaam, 

Il raccourcit le texte dans le bit de terrain, il ne sera pas ajouter les points (. .) à la fin lorsque la chaîne est courte.

Comment changer mon code?

+1

Il est préférable d'utiliser la fonction char_length au lieu de la longueur. Ils ne sont pas toujours la même chose si vous traitez des caractères multi-octets. –

+0

@nick rulez merci pour cette astuce! – Muiter

Répondre

3

Vous devez faire autrement CONCAT(LEFT(adr.klantnaam,20),'..')

vous ajoutez les points au nom (que vous connaissez est de plus de 20 caractères) avant la coupe, il sera toujours couper les points de ainsi.

(Si vous voulez finir avec 20 caractères, vous pouvez couper klantnaam à 18 caractères, puis ajoutez les points)

+0

Merci de m'avoir aidé – Muiter

Questions connexes