sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik een varchar-veld rechts uitlijnen in TSQL?

Gebruik dit om altijd met voorloopspaties een vaste lengte op te vullen

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

Als u één 5 . wijzigt , je moet beide veranderen

Bewerken:RTRIM toegevoegd

Bewerken 2:harde ruimte toegevoegd + andere niet-afdrukbare detectie

Wat levert dit je op?

SELECT ASCII(RIGHT(MyChar, 1) FROM MyTable



  1. Hoe de gegevens van vandaag / gisteren uit de MySQL-database te halen?

  2. Wat is het prestatieverschil tussen invoegen negeren en vervangen in MySQL?

  3. Converteer een ISO-geformatteerde datum naar DATETIME

  4. De verklaring is beëindigd. De maximale recursie 100 is opgebruikt voordat de instructie is voltooid