MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Memformat Angka sebagai Mata Uang dalam SQL

Beberapa DBMS memiliki fungsi yang memungkinkan kita memformat angka sebagai mata uang hanya dengan melewatkan string format yang sesuai. Ini mengonversi angka menjadi string dengan simbol mata uang, pemisah grup, dan titik desimal yang berlaku (jika relevan).

DBMS lain tidak membuatnya semudah itu, dan Anda perlu melakukan sedikit pekerjaan terlebih dahulu.

Di bawah ini adalah contoh penggunaan SQL untuk memformat angka sebagai mata uang di beberapa DBMS paling populer.

Oracle

Oracle Database memberi kita TO_CHAR(number) fungsi, yang memungkinkan kita untuk memformat angka dengan melewatkan model format (atau format string). Kita dapat menggunakan fungsi ini untuk mengembalikan angka sebagai mata uang.

Oracle menyediakan beberapa elemen format untuk mengembalikan simbol mata uang, tergantung pada simbol mata uang yang Anda butuhkan – simbol mata uang lokal, simbol mata uang ISO, atau simbol mata uang ganda.

Berikut ini contoh ketiganya:

ALTER SESSION SET NLS_TERRITORY = 'Denmark';
SELECT 
    TO_CHAR(12345, 'fmL99G999D00') AS "r1",
    TO_CHAR(12345, 'fmC99G999D00') AS "r3",
    TO_CHAR(12345, 'fmU99G999D00') AS "r3"
FROM DUAL;

Hasil:

            r1              r3            r3 
______________ _______________ _____________ 
kr12.345,00    DKK12.345,00    €12.345,00   

Lihat Cara Memformat Angka sebagai Mata Uang di Oracle untuk informasi dan contoh lebih lanjut.

SQL Server

SQL Server menyediakan fungsi FORMAT(), yang memungkinkan kita memformat angka dan tanggal. C penentu format dapat digunakan untuk mengembalikan angka sebagai mata uang:

SELECT FORMAT(1234, 'C');

Hasil:

$1,234.00

Ada hal lain yang dapat Anda lakukan dengan string format, seperti menentukan berapa banyak tempat desimal yang akan dikembalikan.

Fungsi ini juga menerima argumen ketiga opsional, yang dapat digunakan untuk menentukan lokal yang akan digunakan untuk pemformatan angka dan mata uang. Lokal yang berbeda menggunakan konvensi yang berbeda untuk nomor dan mata uangnya.

Lihat Cara Memformat Angka sebagai Mata Uang di SQL Server (T-SQL) untuk informasi dan contoh selengkapnya.

PostgreSQL

PostgreSQL memiliki money tipe data yang biasanya akan diformat dalam mata uang lokal saat output:

SELECT CAST(3145 as money);

Hasil:

$3,145.00

PostgreSQL juga memiliki TO_CHAR() fungsi yang mengubah nilai menjadi string dan memformatnya berdasarkan format string yang kami sediakan. Oleh karena itu, kita dapat menggunakannya untuk memformat angka sebagai mata uang dengan meneruskan string format yang sesuai.

Lihat Cara Memformat Angka sebagai Mata Uang di PostgreSQL untuk informasi selengkapnya.

MySQL

Di MySQL, kita harus melakukan sedikit lebih banyak pekerjaan. MySQL tidak menyediakan penentu format untuk simbol mata uang, jadi kami harus menyediakannya sendiri:

SELECT CONCAT('$', FORMAT(1234.5678, 2));

Hasil:

$1,234.57

Di sini, kami menggunakan CONCAT() berfungsi untuk menggabungkan simbol mata uang dan nomor, dan kami menggunakan FORMAT() berfungsi untuk memformat angka ke dalam format yang kita inginkan.

Dimungkinkan untuk menentukan lokal untuk pemformatan numerik. Ini menentukan karakter mana yang digunakan untuk pemisah grup dan titik desimal.

Lihat Cara Memformat Angka sebagai Mata Uang di MySQL untuk informasi lebih lanjut.

MariaDB

MariaDB sangat mirip dengan MySQL, dan kami dapat menggunakan metode yang sama dengan yang kami gunakan dengan MySQL.

Berikut adalah contoh yang menentukan lokal yang akan digunakan untuk pemformatan angka:

SELECT CONCAT('€', FORMAT(8790.2398, 2, 'de_DE'));

Hasil:

€8.790,24

Dalam hal ini, kami menyediakan simbol Euro ( ) dan memformat nomor untuk menggunakan konvensi penomoran yang digunakan di Jerman.

Lihat Memformat Angka sebagai Mata Uang di MariaDB untuk informasi lebih lanjut.

SQLite

SQLite memiliki PRINTF() fungsi yang memungkinkan kita untuk memformat angka berdasarkan string format. Misalnya, kita dapat menggunakan ini untuk memformat angka ke sejumlah tempat desimal tertentu, ditambah menambahkan simbol mata uang.

SELECT PRINTF("$%.2f", 123.457);

Hasil:

$123.46

Perbarui :SQLite 3.38.0 (dirilis 22 Feb 2022) berganti nama menjadi PRINTF() berfungsi untuk FORMAT() . PRINTF() asli nama dipertahankan sebagai alias untuk kompatibilitas mundur.

Jadi contoh di atas bisa diubah menjadi ini:

SELECT FORMAT("$%.2f", 123.457);

Hasil:

$123.46

Lihat dokumentasi SQLite untuk lebih lanjut tentang FORMAT() fungsi.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Perbarui Dokumen

  2. Apakah mongodb berjalan?

  3. MongoDB melalui Mongoose JS - Apa itu findByID?

  4. Tarik entri dari array melalui Meteor

  5. Membandingkan Pola Penerapan untuk MongoDB