Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je aligner un champ varchar à droite dans TSQL ?

Utilisez ceci pour toujours compléter avec des espaces de début à une longueur fixe

SELECT RIGHT(
      SPACE(5) + 
      REPLACE(REPLACE(REPLACE(REPLACE(RTRIM(MyChar), CHAR(160), ''), CHAR(9), ''), CHAR(10), ''), CHAR(13), '')
    , 5) AS Justified
FROM MyTable 
ORDER BY Justified

Si vous modifiez un 5 , vous devez changer les deux

Édit :RTRIM ajouté

Edit 2 :espace disque ajouté + autre détection non imprimable

Qu'est-ce que cela vous apporte ?

SELECT ASCII(RIGHT(MyChar, 1) FROM MyTable