Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyoal Lajur Dipisahkan Koma untuk Nilai Tertentu dalam Oracle 10g?

Bagaimana untuk Menyoal Lajur Dipisahkan Koma untuk Nilai Tertentu dalam Oracle 10g?

Mary-Kate Olsen
Lepaskan: 2024-10-29 07:28:02
asal
986 orang telah melayarinya

How to Query a Comma-Separated Column for Specific Values in Oracle 10g?

Menyoal Lajur Dipisahkan Koma untuk Nilai Tertentu

Anda menghadapi cabaran pangkalan data biasa: menanya jadual dengan lajur dipisahkan koma untuk nilai kategori tertentu. Walaupun penyataan LIKE mungkin memberikan penyelesaian, ia boleh menjadi sangat bertele-tele dan tidak cekap.

Untuk menangani isu ini, penyelesaian berpotensi melibatkan fungsi FIND_IN_SET(). Walau bagaimanapun, dalam Oracle 10g, fungsi ini tidak tersedia, mengakibatkan ralat "pengecam tidak sah".

Alternatif yang lebih mantap kepada penyataan LIKE tersedia:

<code class="sql">select 
  * 
from
  YourTable 
where 
  ',' || CommaSeparatedValueColumn || ',' LIKE '%,SearchValue,%'</code>
Salin selepas log masuk

Pertanyaan ini mencari padanan tepat nilai carian dalam lajur yang dipisahkan koma. Walau bagaimanapun, adalah penting untuk memasukkan koma sebelum dan selepas nilai carian untuk mengambil kira nilai pada permulaan atau penghujung rentetan.

Walaupun berkesan, pertanyaan ini mungkin menghadapi pengehadan prestasi disebabkan oleh kelambatan yang wujud dalam LIKE, terutamanya apabila kad bebas terkemuka hadir.

Akhirnya, penyelesaian ideal untuk mengendalikan lajur yang dipisahkan koma adalah dengan mempertimbangkan penstrukturan semula data. Ini boleh melibatkan mencipta jadual kanak-kanak untuk kategori atau malah jadual berasingan untuk kategori yang dipautkan ke jadual utama melalui mekanisme pemautan silang. Dengan menormalkan data dengan cara ini, pertanyaan akan datang boleh menjadi lebih cekap dan tepat.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Lajur Dipisahkan Koma untuk Nilai Tertentu dalam Oracle 10g?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan