Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menetapkan Nama Set Secara Dinamik Berdasarkan Julat Tarikh dalam SQL?

Bagaimana untuk Menetapkan Nama Set Secara Dinamik Berdasarkan Julat Tarikh dalam SQL?

Patricia Arquette
Lepaskan: 2024-12-26 03:49:09
asal
763 orang telah melayarinya

How to Dynamically Assign Set Names Based on Date Ranges in SQL?

Memisahkan Rentetan Diberi

Untuk memisahkan tarikh yang diberikan yang diwakili oleh p_dates, gunakan ungkapan biasa untuk mengekstrak julat tarikh dalam kurungan. Contohnya:

SELECT string_to_array(p_dates, '[,]+') AS dates;
Salin selepas log masuk

Memisahkan Set Diberi

Gunakan ungkapan biasa yang serupa untuk memisahkan set dalam p_sets menggunakan koma sebagai pembatas:

SELECT string_to_array(p_sets, '[,]+') AS sets;
Salin selepas log masuk

Menyediakan Sarung Dinamik Penyata

Dengan tarikh dan set pemisahan, bina pernyataan kes dinamik menggunakan gelung:

DECLARE
  dates CHAR[],
  sets CHAR[];

BEGIN
  -- Get split dates and sets
  SELECT * INTO dates, sets FROM (
    SELECT string_to_array(p_dates, '[,]+') AS dates, string_to_array(p_sets, '[,]+') AS sets
  );

  -- Loop through each pair of date range and set
  FOR i IN 1..ARRAY_UPPER(sets) LOOP
    -- Construct CASE statement
    CASE WHEN given_dates BETWEEN split_part(dates[i], 'to', 1) AND split_part(dates[i], 'to', 2)
    THEN sets[i]
    END
  END CASE;
END;
Salin selepas log masuk

Ini akan menjana pernyataan CASE dinamik yang memberikan nama set berdasarkan tarikh julat.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nama Set Secara Dinamik Berdasarkan Julat Tarikh dalam SQL?. 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