sql >> Database teknologi >  >> RDS >> Oracle

Hvordan udfyldes nuller for et talfelt?

Hvis du vil have værdien op til tusindedele, men ikke mere af decimaldelen, kan du gange med 1000 og enten FLOOR eller brug TRUNC . Sådan:

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

eller:

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

Bruger TO_CHAR vil kun tillade et fastsat maksimalt antal cifre baseret på formatmasken (hvis værdien går over denne størrelse, vil den vise # s i stedet for tal), men den håndterer negative tal (placerer minustegnet før de foranstillede nuller).

Brug af LPAD vil tillade enhver størrelse af input, men hvis input er negativt vil minustegnet være i midten af ​​strengen (efter eventuelle indledende nuller).



  1. Forkert nøglefil til tabellen '/tmp/#sql_18b4_0.MYI' prøv at reparere den

  2. enkelt forespørgsel for at udskrive alle rækker, hvis antal er større end 10

  3. kald eksternt script med mySQL-trigger WHITOUT sys_exec på ubuntu ARMHF

  4. PL/SQL utilstrækkelige privilegier inden for en forespørgsel manuelt mulig