Penggunaan FORMAT didalam MySQL

Merujuk kepada pertanyaan AminOO7 pada artikel ini. Cara untuk menyelesaikan permasalahan nombor integer yang diperolehi dari pangkalan data (database) yang tidak mempunyai tanda ‘,’ ialah dengan menggunakan fungsi FORMAT yang terdapat didalam MySQL.

SELECT FORMAT(12345.00, 2);

Merujuk kepada kepada sintak diatas, nombor 2 selepas tanda ‘,’ merupakan bilangan titik perpuluhan yang kita mahu paparkan.

Sekiranya kita mahu memanggil nilai dari dalam medan tertentu. Inilah caranya.

SELECT *,FORMAT(nama_medan, 2) AS noBaru 
FROM nama_jadual;

Selamat mencuba!

Ekstrak nama domain dari email

Asalnya soalan ini ditanyakan di forum komuniti http://php.net.my . Bagaimana mahu mengekstrak nama domain dari email yang tersimpan didalam pangkalan data(database) MySQL.

Ini merupakan contoh jadual (table) di dalam pangkalan data.

CREATE TABLE `emails` (
`id` INT NOT NULL AUTO_INCREMENT ,
`email` TEXT NOT NULL ,
PRIMARY KEY ( `id` ) 
) ENGINE = MYISAM;

Ini pula contoh data yang ada di dalam meja.

INSERT INTO `emails` (
`id` ,
`email` 
)
VALUES (
NULL , 'foo@foobar.com'
), (
NULL , 'fii@fii.com.my'
);

Cara untuk menyelesaikan permasalahan ini ialah dengan menggunakan sintak SQL seperti di bawah.

SELECT email,
CONCAT('www.',
SUBSTRING_INDEX(email,'@',-1)
) AS domain
FROM emails;

Penggunaan CONCAT adalah untuk menggabungkan nilai-nilai yang ada. Manakala penggunaan fungsi SUBSTRING_INDEX pula untuk memisahkan nilai yangĀ ada. Dalam kes ini untuk mendapatkan nilai selepas simbol @.