Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
CREATE OR REPLACE FUNCTION calendar_days(calendar_month INT, calendar_year INT) RETURNS SETOF record AS $$ DECLARE day_of_week INT; day_name TEXT; calendar_record record; BEGIN -- Получаем текущую локаль SELECT current_setting('lc_collate') INTO day_name; -- Получаем день недели для первого дня месяца SELECT EXTRACT(DOW FROM DATE(calendar_year, calendar_month, 1)) INTO day_of_week; -- Выводим календарь на семь дней FOR calendar_record IN SELECT day_of_week + i AS n, day_name || ' ' || LPAD(i + 1, 2, ' ') AS calendar FROM generate_series(0, 6) g(i) LOOP RETURN NEXT calendar_record record; END LOOP; END; $$ LANGUAGE plpgsql; SET calendar.year = 2023; SET calendar.month = 4; SELECT * FROM calendar_days(2, 2024); -- , NULLIF(CURRENT_SETTING('calendar.year'), '')::int);

Stuck with a problem? Got Error? Ask AI support!

Copy Clear