sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer FORMAT() i MariaDB

I MariaDB, FORMAT() er en indbygget strengfunktion, der formaterer og returnerer det givne tal som en streng.

Det kræver to argumenter og accepterer et valgfrit tredje argument. Den første er det tal, du vil formatere, den anden er decimalpositionen, og den (valgfri) tredje er lokaliteten.

Syntaks

Syntaksen ser sådan ud:

FORMAT(num, decimal_position[, locale]) 

Hvor num er tallet, decimal_position er antallet af decimaler, tallet skal afrundes til, og locale er en valgfri lokalitet til at bruge til formatering af nummeret (forskellige lokaliteter bruger forskellige konventioner til formatering af tal).

Eksempel

Her er et grundlæggende eksempel:

SELECT FORMAT(1234.5678, 2); 

Resultat:

+-----------------------------+| FORMAT(1234.5678, 2) |+----------------------------+| 1.234,57 |+-----------------------------+

Her FORMAT() tilføjet et komma for tusinde-separator. Det afrundede også tallet til to decimaler (fordi jeg angav 2 som det andet argument).

Fjern brøkdel

For at fjerne brøkdelen (og dens tilhørende decimaltegn), skal du bruge 0 (nul) som det andet argument:

SELECT FORMAT(1234.5678, 0); 

Resultat:

+-----------------------------+| FORMAT(1234.5678, 0) |+----------------------------+| 1.235 |+-----------------------------+

Tilføjelse af decimaler

Hvis det andet argument er et højere tal end antallet af decimaler i det første argument, tilføjes nuller til resultatet, så det afspejler det ønskede antal decimaler:

SELECT 
    FORMAT(1234, 2),
    FORMAT(1234.56, 4),
    FORMAT(1234.56, 8); 

Resultat:

+----------------+---------------------+------ --------------+| FORMAT(1234, 2) | FORMAT(1234.56; 4) | FORMAT(1234.56; 8) |+----------------+------------------------+--- ------------------+| 1.234,00 | 1.234.5600 | 1.234,56000000 |+----------------+--------------------+-------- ------------+

Angiv en lokalitet

Du kan valgfrit sende et tredje argument for at angive den lokalitet, der skal bruges til formateringen.

Eksempel:

SELECT FORMAT(1234567.8912, 2, 'da_DK') AS "da_DK", FORMAT(1234567.8912, 2, 'rm_CH') AS "rm_CH", FORMAT(1234567.8912, 2, 'es_BO') AS "es_BO", FORMAT(1234567.8912, 2, 'ar_SA') AS "ar_SA";

Resultat:

+--------------+--------------+------------+---- ----------+| da_DK | rm_CH | es_BO | ar_SA |+--------------+------------------------- --------+| 1.234.567,89 | 1'234'567,89 | 1234567,89 | 1234567.89 |+---------------------------------- --------+

Ikke-numeriske argumenter

FORMAT() formaterer kun tal. Angivelse af en streng resulterer f.eks. i 0 bliver returneret. Det er dog stadig formateret til den angivne decimal:

SELECT 
    FORMAT("Twenty five", 0),
    FORMAT("Twenty five", 2),
    FORMAT("Twenty five", 4); 

Resultat:

+---------------------------+------------------------ -------+---------------------------------+| FORMAT("Femogtyve", 0) | FORMAT("Femogtyve", 2) | FORMAT("Femogtyve", 4) |+--------------------------------+------------ --------------+----------------------------------+| 0 | 0,00 | 0,0000 |+----------------------------+------------------------ ------+---------------------------------+

Nul-argumenter

Giver null da et af de to første argumenter resulterer i null :

SELECT 
    FORMAT(null, 2),
    FORMAT(25, null); 

Resultat:

+----------------+------------------------+| FORMAT(nul, 2) | FORMAT(25, null) |+-----------------+----------------+| NULL | NULL |+-----------------+------------------+

Men sender null da det tredje argument ikke påvirker resultatet:

SELECT FORMAT(25, 2, null); 

Resultat:

+----------------------------+| FORMAT(25, 2, null) |+----------------------------+| 25.00 |+----------------------------+

Giver kun ét argument

Angivelse af et enkelt argument resulterer i en fejl:

SELECT FORMAT(1234.56); 

Resultat:

FEJL 1064 (42000):Du har en fejl i din SQL-syntaks; tjek manualen, der svarer til din MariaDB-serverversion for den rigtige syntaks til brug i nærheden af ​​')' på linje 1

Ingen argumenter

Kalder FORMAT() uden at sende nogen argumenter resulterer det i en fejl:

SELECT FORMAT(); 

Resultat:

FEJL 1064 (42000):Du har en fejl i din SQL-syntaks; tjek manualen, der svarer til din MariaDB-serverversion for den rigtige syntaks til brug i nærheden af ​​')' på linje 1

  1. Sådan henter du rækkeantallet for alle tabeller i en SQL SERVER-database

  2. Hvordan laver man synkronisering med lokal database og parser?

  3. Hvordan indstilles startværdi og automatisk stigning i MySQL?

  4. Hvordan spooler jeg til en CSV-formateret fil ved hjælp af SQLPLUS?