Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mengekstrak Substring di MySQL

Masalah:

Anda ingin mengekstrak substring dari teks di kolom tertentu.

Contoh:

Basis data kami memiliki tabel bernama web_address dengan data pada kolom id dan address . Kami ingin menghapus ‘www. ' di awal dan '.com ' di akhir setiap address .

id alamat
1 www.example.com
2 www.google.com
3 www.learnsql.com

Solusi 1:

Untuk menghapus 4 karakter pertama:

SELECT
SUBSTR(address, 5, LENGTH(address) -4) AS substring
FROM web_address;

Untuk menghapus 4 karakter terakhir:

SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;

Untuk menghapus 4 karakter pertama dan 4 karakter terakhir:

SELECT
SUBSTR(address, 5, LENGTH(address) -8) AS substring
FROM web_address;

Solusi 2:

Untuk menghapus 4 karakter pertama:

SELECT
SUBSTRING(address, 5, LENGTH(address)) AS substring
FROM web_address;

Untuk menghapus 4 karakter terakhir:

SELECT
SUBSTRING(address, 1, LENGTH(address) -4) AS substring
FROM web_address;

Untuk menghapus 4 karakter pertama dan 4 karakter terakhir:

SELECT
SUBSTRING(address, 5, LENGTH(address) -8) AS substring
FROM web_address;

Solusi 3:

Untuk menghapus semua karakter sebelum '.' kedua dari kanan:

SELECT
SUBSTRING_INDEX(address, '.', -2) AS substring
FROM web_address;

Untuk menghapus semua karakter setelah '.' kedua dari kiri:

SELECT
SUBSTRING_INDEX(address, '.', 2) AS substring
FROM web_address;

Untuk menghapus semua karakter setelah '.' kedua dari kiri, lalu hapus semua karakter sebelum '.' pertama dari kanan:

SELECT
SUBSTRING_INDEX(
	SUBSTRING_INDEX(address, '.', 2),
	'.',
	-1
) AS substring
FROM web_address;

Hasilnya adalah:

substring
contoh
google
belajar sql

Diskusi:

Solusi pertama dan kedua menghapus sejumlah karakter tertentu dari teks dengan SUBSTR() atau SUBSTRING() fungsi. SUBSTR() adalah sinonim untuk SUBSTRING() . Keduanya membutuhkan string dan posisi awal sebagai argumen. Argumen terakhir, yang menentukan jumlah karakter yang akan diekstrak, adalah opsional. Jika argumen terakhir dihilangkan, seluruh string (dari titik awal) akan dikembalikan.

Dalam solusi ketiga, SUBSTRING_INDEX() fungsi menghapus teks sebelum atau sesudah karakter yang ditentukan. Ini membutuhkan sebagai argumen string, karakter, dan berapa banyak contoh karakter yang harus ditemui di mana ekstraksi teks dimulai.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang lebih baik di MYSQL count(*) atau count(1)?

  2. Cara mereset AUTO_INCREMENT di MySQL

  3. Kinerja MySQL DigitalOcean Terbaik – ScaleGrid vs. Database yang Dikelola DigitalOcean

  4. Menggunakan utas untuk membuat permintaan basis data

  5. Cara Mencadangkan dan Mengembalikan (Ekspor dan Impor) Tutorial Database MySQL