Mengira Kejadian Subrentetan dengan Cekap dalam Medan SQL VARCHAR
Tugas pangkalan data selalunya melibatkan menganalisis data teks dalam medan VARCHAR. Keperluan yang kerap adalah untuk menentukan berapa kali subrentetan tertentu muncul dalam setiap medan. Sebagai contoh, pertimbangkan jadual menyimpan penerangan produk; anda mungkin mahu mengira kejadian kata kunci tertentu dalam setiap perihalan.
SQL menyediakan penyelesaian untuk ini. Pertanyaan berikut menunjukkan cara mengira tika rentetan sasaran (cth., "nilai") dalam medan VARCHAR bernama description
:
<code class="language-sql">SELECT title, description, ROUND( (LENGTH(description) - LENGTH(REPLACE(description, 'value', ''))) / LENGTH('value') ) AS count FROM <table_name></code>
Pertanyaan ini memanfaatkan fungsi REPLACE
untuk mengalih keluar semua kejadian rentetan sasaran ("nilai"). Dengan membandingkan panjang rentetan asal dengan panjang selepas penggantian, dan membahagikan dengan panjang rentetan sasaran, kami mengira bilangan kejadian dengan tepat. Fungsi ROUND
memastikan kiraan nombor bulat.
Melaksanakan pertanyaan ini pada jadual sampel menghasilkan keputusan berikut:
TITLE | DESCRIPTION | COUNT |
---|---|---|
test1 | value blah blah value | 2 |
test2 | value test | 1 |
test3 | test test test | 0 |
test4 | valuevaluevaluevaluevalue | 5 |
Kaedah ini menyediakan cara ringkas dan berkesan untuk mengira kejadian subrentetan terus dalam pertanyaan SQL anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Kejadian Substring dalam Medan VARCHAR Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!