Masalah:
Anda ingin mengurutkan hasil kueri SQL dalam urutan menaik atau menurun.
Contoh:
Basis data kami memiliki tabel bernama customer_information
dengan data pada kolom id
, first_name
, last_name
, dan email_address
. Alamat email diisi oleh pengguna secara manual, dan beberapa dimasukkan dengan spasi yang tidak perlu secara tidak sengaja. Anda ingin menghapus spasi dari alamat email.
id | nama_depan | nama_belakang | alamat_email |
---|---|---|---|
1 | Calvin | Rios | [email protected] |
2 | Alan | Paterson | al an.paterson@ contoh.com |
3 | Kurt | Evans | [email protected] |
4 | Alex | Watkins | aleks. [email protected] |
Solusi:
Kami akan menggunakan REPLACE
fungsi. Ini pertanyaannya:
SELECT first_name, last_name, REPLACE(email_address, " ", "") AS correct_email_address FROM customer_information;
Berikut hasil querynya:
nama_depan | nama_belakang | alamat_email |
---|---|---|
Calvin | Rios | [email protected] |
Alan | Paterson | [email protected] |
Kurt | Evans | [email protected] |
Alex | Watkins | [email protected] |
Diskusi:
Gunakan REPLACE
fungsi jika Anda ingin mengganti semua kemunculan substring dalam string yang diberikan. Dalam contoh kami, kami mengganti spasi yang tidak perlu dengan nilai kosong.
Fungsi ini membutuhkan tiga argumen. Berikut ini mengilustrasikan sintaks fungsi:
REPLACE(string_expression, substring, new_substring)
Argumen pertama adalah string yang ingin kita modifikasi. Argumen kedua adalah substring yang akan diganti, dan argumen ketiga adalah string yang ingin kita gunakan sebagai pengganti substring yang diganti. Kami menghapus spasi yang tidak diinginkan dalam contoh kami, tetapi fungsinya dapat digunakan untuk banyak tujuan. Misalnya, kita mungkin ingin membersihkan dan menstandardisasi kolom nomor telepon. Kita dapat menggunakan REPLACE
berfungsi untuk melakukannya.
Jika Anda ingin menghapus lebih dari satu karakter dari string yang diberikan, cukup sarangkan REPLACE
berfungsi untuk kedua kalinya. Misalnya, jika Anda memiliki string dengan spasi dan tanda hubung yang tidak perlu, Anda dapat menggunakan sintaks berikut:
REPLACE(REPLACE(string_expression, " ", ""), "-", "")
Ingat bahwa argumen fungsi ini di MySQL peka huruf besar/kecil, jadi berhati-hatilah dengan hurufnya.