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

Cara Memformat Angka dengan Koma di SQL

Sebagian besar RDBMS utama memiliki fungsi yang memungkinkan kita memformat angka dengan koma sebagai pemisah grup, atau pemisah desimal.

Beberapa RDBMS juga menampilkan tipe data numerik tertentu dengan koma di tempat yang relevan.

Di bawah ini adalah contoh pemformatan angka dengan koma di beberapa DBMS yang lebih populer.

MySQL

Di MySQL, kita dapat menggunakan FORMAT() fungsi untuk memformat angka dengan koma:

SELECT FORMAT(123456.789, 2);

Hasil:

123,456.79

Tidak perlu menentukan di mana koma harus pergi. Fungsinya tahu di mana harus meletakkannya.

Fungsi ini juga menerima argumen ketiga untuk menentukan lokal. Tidak semua lokal menggunakan koma sebagai pemisah grup – beberapa lokal menggunakan koma sebagai pemisah desimal. FORMAT() fungsinya cukup pintar untuk mengetahui konvensi mana yang digunakan.

Contoh:

SELECT FORMAT(123456.789, 2, 'de_DE');

Hasil:

123.456,79

Oracle

Di Oracle kita dapat menggunakan TO_CHAR() fungsi untuk memformat angka dengan koma:

SELECT TO_CHAR(12345, 'fm99G999D00')
FROM DUAL;

Hasil:

12,345.00

G elemen format adalah pengganti untuk pemisah grup, dan elemen D adalah untuk pemisah desimal.

Dalam hal ini, pemisah grup mengeluarkan koma, dan karakter desimal mengeluarkan titik. Itu karena NLS_TERRITORY sesi saya saat ini parameter disetel ke Australia .

Memang benar bahwa kita hanya bisa menggunakan koma hardcoded alih-alih G elemen format, tetapi itu mengasumsikan bahwa pemisah grup adalah koma. Tidak semua lokal menggunakan koma sebagai pemisah grup.

Lihat Cara Memformat Angka dengan Koma di Oracle untuk informasi lebih lanjut dan contoh memformat angka dengan koma di Oracle.

SQL Server

Di SQL Server kita dapat menggunakan FORMAT() berfungsi untuk memformat angka dengan koma. Fungsi ini menerima nomor dan format string:

SELECT 
    FORMAT(123456.789, 'N') AS "Number",
    FORMAT(123456.789, 'P') AS "Percent",
    FORMAT(123456.789, 'C') AS "Currency";

Hasil:

+------------+----------------+-------------+
| Number     | Percent        | Currency    |
|------------+----------------+-------------|
| 123,456.79 | 12,345,678.90% | $123,456.79 |
+------------+----------------+-------------+

Fungsi ini juga menerima argumen "budaya" opsional untuk menentukan lokal yang akan digunakan untuk keluaran yang diformat.

Anda juga dapat membuat string format kustom Anda sendiri sehingga Anda dapat menentukan dengan tepat ke mana letak setiap pemisah ribuan dan pemisah desimal.

Lihat Cara Memformat Angka dengan Koma di SQL Server untuk contoh.

PostgreSQL

PostgreSQL memiliki TO_CHAR() fungsi yang bekerja seperti fungsi Oracle dengan nama yang sama:

SELECT TO_CHAR(123456.78, 'fm999G999D99');

Hasil:

123,456.78

Fungsi ini sadar lokal, sehingga akan menampilkan grup yang sesuai dan pemisah desimal untuk lokal.

PostgreSQL juga memiliki money tipe data, yang dihasilkan dalam format sadar lokal. Lihat Memformat Angka dengan Koma di PostgreSQL sebagai contoh.

SQLite

SQLite sedikit lebih terbatas jika dibandingkan dengan sebagian besar DBMS lainnya. Namun, ia memiliki printf() fungsi yang memungkinkan kita untuk memformat angka menurut format string:

SELECT printf("%,d", 123456789);

Hasil:

123,456,789

Ini berfungsi baik dengan bilangan bulat, tetapi bilangan real/floating point membutuhkan sedikit lebih banyak pekerjaan. Lihat Memformat Angka dengan Koma di SQLite untuk mengetahui lebih lanjut tentang ini.

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("%,d", 123456789);

Hasil:

123,456,789

MariaDB

Di MariaDB, kita dapat menggunakan FORMAT() fungsi untuk memformat angka dengan koma:

SELECT FORMAT(123456.789, 2);

Hasil:

123,456.79

Seperti halnya fungsi MySQL dengan nama yang sama, tidak perlu menentukan di mana koma harus diletakkan. Fungsinya tahu di mana harus meletakkannya.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Performa MongoDB pada kueri agregasi

  2. MongoDB:Apakah mungkin membuat kueri case-insensitive?

  3. MongoDB tidak akan mulai setelah server crash

  4. Mongodb menghindari entri duplikat

  5. Luwak - disebabkan oleh ::11000 E11000 indeks kesalahan kunci duplikat?