By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
select service_level from sysibmadm.env_inst_info;
SERVICE_LEVEL |
---|
DB2 v11.1.4.4 |
CREATE TABLE test (
test_col DATE
);
INSERT INTO test (test_col) VALUES
('2024-01-15 10:20:30'),
('2024-02-21 10:20:30'),
('2024-03-10 10:20:30'),
('2024-04-05 10:20:30'),
('2024-05-18 10:20:30'),
('2024-06-25 10:20:30'),
('2024-07-04 10:20:30'),
('2024-08-11 10:20:30'),
('2024-09-20 10:20:30'),
('2024-10-03 10:20:30'),
('2024-11-26 10:20:30'),
('2024-12-17 10:20:30'),
('2025-01-01 10:20:30'),
('2025-02-21 10:20:30'),
('2025-03-10 10:20:30'),
('2025-04-05 10:20:30');
select * from test;
TEST_COL |
---|
2024-01-15 |
2024-02-21 |
2024-03-10 |
2024-04-05 |
2024-05-18 |
2024-06-25 |
2024-07-04 |
2024-08-11 |
2024-09-20 |
2024-10-03 |
2024-11-26 |
2024-12-17 |
2025-01-01 |
2025-02-21 |
2025-03-10 |
2025-04-05 |
SELECT
test_col,
(MONTH(test_col) + 8) % 12 + 1 AS new_month,
CASE
WHEN MONTH(test_col) <=3 THEN
VARCHAR(YEAR(test_col) - 1) || '-' || VARCHAR(YEAR(test_col))
ELSE VARCHAR(YEAR(test_col)) || '-' || VARCHAR(YEAR(test_col) + 1)
END AS new_year
FROM test;
TEST_COL | NEW_MONTH | NEW_YEAR |
---|---|---|
2024-01-15 | 10 | 2023-2024 |
2024-02-21 | 11 | 2023-2024 |
2024-03-10 | 12 | 2023-2024 |
2024-04-05 | 1 | 2024-2025 |
2024-05-18 | 2 | 2024-2025 |
2024-06-25 | 3 | 2024-2025 |
2024-07-04 | 4 | 2024-2025 |
2024-08-11 | 5 | 2024-2025 |
2024-09-20 | 6 | 2024-2025 |
2024-10-03 | 7 | 2024-2025 |
2024-11-26 | 8 | 2024-2025 |
2024-12-17 | 9 | 2024-2025 |
2025-01-01 | 10 | 2024-2025 |
2025-02-21 | 11 | 2024-2025 |
2025-03-10 | 12 | 2024-2025 |
2025-04-05 | 1 | 2025-2026 |