Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh memformat integer sebagai mata wang dalam MySQL?

Bagaimanakah saya boleh memformat integer sebagai mata wang dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-27 15:33:10172semak imbas

How can I format integers as currency in MySQL?

Pemformatan Mata Wang dalam MySQL: Memilih Integer sebagai Mata Wang

MySQL menyediakan beberapa pilihan untuk menukar nilai integer kepada format mata wang semasa pengambilan data. Berikut ialah pendekatan yang paling biasa:

1. CONCAT() dengan FORMAT()

Fungsi FORMAT() membolehkan anda menggunakan corak pemformatan pada nombor. Untuk pemformatan mata wang, anda boleh menggunakan corak berikut:

FORMAT(number, decimal_places)

Untuk menukar integer kepada format mata wang, anda boleh menggunakan pertanyaan berikut:

SELECT CONCAT('$', FORMAT(val, 2)) AS formatted_currency ... ;

Ini akan mengembalikan val integer diformatkan sebagai nilai mata wang dengan dua tempat perpuluhan.

2. Penggantian Rentetan

Pilihan lain ialah menggunakan penggantian rentetan untuk memasukkan koma ke dalam rentetan nombor. Pendekatan ini melibatkan mencipta fungsi tersuai atau menggunakan fungsi terbina dalam seperti SUBSTRING_INDEX():

CREATE FUNCTION format_currency(number INT)
RETURNS VARCHAR(255)
BEGIN
  DECLARE formatted_number VARCHAR(255);
  SET formatted_number = REPEAT('0', FLOOR(LOG10(number)) + 1);
  WHILE number > 0 DO
    SET formatted_number = SUBSTRING_INDEX(formatted_number, '0', -3);
    SET formatted_number = CONCAT(formatted_number, ',');
    SET formatted_number = CONCAT(formatted_number, SUBSTRING(CAST(number AS CHAR), -2));
    SET number = number / 100;
  END WHILE;
  SET formatted_number = SUBSTRING(formatted_number, 1, LENGTH(formatted_number) - 1);
  SET formatted_number = CONCAT('$', formatted_number);
  RETURN formatted_number;
END;

Anda kemudian boleh menggunakan fungsi format_currency() untuk memformat nilai integer anda sebagai mata wang:

SELECT format_currency(val) AS formatted_currency ... ;

Atas ialah kandungan terperinci Bagaimanakah saya boleh memformat integer sebagai mata wang dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn