Rumah >pangkalan data >tutorial mysql >Bagaimana Mengekstrak Substring dalam Oracle SQL Sebelum Watak Tertentu?
Mengambil Subrentetan Sehingga Aksara Tertentu dalam Oracle SQL
Memilih subrentetan daripada lajur jadual tetapi mengehadkan julat kepada aksara tertentu boleh mencabar. Pertimbangkan senario di mana anda mempunyai lajur dengan nilai yang diformatkan sebagai "ABC_blahblahblah." Matlamatnya adalah untuk mengekstrak bahagian sahaja sebelum garis bawah.
Fungsi SUBSTRING, yang bergantung pada pemilihan berdasarkan kedudukan, tidak akan mencukupi kerana kedudukan garis bawah berbeza-beza. RTRIM, bertujuan untuk mengalih keluar aksara tertentu dari hujung rentetan, tidak sejajar dengan keperluan dengan tepat.
Untuk menangani cabaran ini, gabungan fungsi Oracle SQL boleh digunakan. Dengan memanfaatkan SUBSTR, INSTR dan NVL, kami boleh mencapai hasil yang diingini:
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output FROM DUAL
Penjelasan:
Penggunaan:
SELECT NVL(SUBSTR(t.column, 0, INSTR(t.column, '_')-1), t.column) AS output FROM YOUR_TABLE t
Dalam Oracle10g , REGEXP_SUBSTR boleh digunakan untuk melakukan padanan ungkapan biasa, menyediakan pendekatan alternatif untuk mengekstrak subrentetan yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana Mengekstrak Substring dalam Oracle SQL Sebelum Watak Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!