Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memisahkan dan Menggunakan Rentetan Input untuk Penyata Kes Dinamik dengan Cekap?

Bagaimana untuk Memisahkan dan Menggunakan Rentetan Input untuk Penyata Kes Dinamik dengan Cekap?

Susan Sarandon
Lepaskan: 2024-12-31 19:45:18
asal
929 orang telah melayarinya

How to Efficiently Split and Use Input Strings for Dynamic Case Statements?

Memisahkan Rentetan Input

Untuk memisahkan rentetan input (tarikh dan set), kita boleh menggunakan teknik berikut:

  1. Tarikh (p_dates): Gunakan string_to_array() berfungsi untuk mencipta tatasusunan julat tarikh daripada rentetan tarikh. Contohnya:

    SELECT string_to_array('2001-01-01to2001-01-05,2001-01-10to2001-01-15', ',')
    Salin selepas log masuk
  2. Set (p_sets): Begitu juga, gunakan fungsi string_to_array() untuk memisahkan rentetan set kepada tatasusunan nama set. Contohnya:

    SELECT string_to_array('s1,s2,s3,s4', ',')
    Salin selepas log masuk

Menyediakan Penyata Kes Dinamik

Setelah tatasusunan ini dicipta, kita boleh menggunakannya untuk menjana pernyataan kes dinamik menggunakan gabungan pernyataan CASE WHEN dan SELECT. Contohnya:

CASE WHEN given_dates BETWEEN date_ranges[1] AND date_ranges[2] THEN set_names[1]
     WHEN given_dates BETWEEN date_ranges[3] AND date_ranges[4] THEN set_names[2]
     ...
     ELSE NULL
END
Salin selepas log masuk

Di sini, julat_tarikh dan nama_set ialah tatasusunan yang dicipta daripada p_dates dan p_sets masing-masing.

Pernyataan kes dinamik ini kemudiannya boleh digunakan untuk mengemas kini lajur set_name berdasarkan yang ditentukan julat tarikh dan tetapkan nama.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan dan Menggunakan Rentetan Input untuk Penyata Kes Dinamik dengan Cekap?. 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