sql >> Database >  >> RDS >> Oracle

Hoe nullen voor een numeriek veld op te vullen?

Als u de waarde tot duizendsten wilt, maar niet meer van het decimale deel, dan kunt u vermenigvuldigen met 1000 en ofwel FLOOR of gebruik TRUNC . Zoals dit:

SELECT TO_CHAR( TRUNC( value * 1000 ), '00000009' )
FROM   table_name;

of:

SELECT LPAD( TRUNC( value * 1000 ), 8, '0' )
FROM   table_name;

TO_CHAR gebruiken staat alleen een bepaald maximum aantal cijfers toe op basis van het formaatmasker (als de waarde groter is dan deze grootte, wordt # weergegeven s in plaats van getallen), maar het zal negatieve getallen verwerken (het minteken voor de voorloopnullen plaatsen).

LPAD gebruiken staat elke invoergrootte toe, maar als de invoer negatief is, staat het minteken in het midden van de tekenreeks (na eventuele voorloopnullen).



  1. mysql-query om alle mogelijke soortgelijke combinaties te vinden die beginnen met en eindigen met (vereenvoudigd duplicaat)

  2. MySQL-zelfstudie - MySQL-serverlogboeken beheren:roteren, comprimeren, behouden en verwijderen

  3. PHP/MySQL:Modelleer herhalende gebeurtenissen in een database, maar zoek naar datumbereiken

  4. Pymysql Cursor.fetchall() / Fetchone() Retourneert Geen