Moin, zusammen.
In der Tabelle einer SQL-Datenbank gibt es diese drei Felder:
Timestmp TEXT NOT NULL,
weekday TEXT GENERATED ALWAYS AS (
CASE strftime('%w', substr(Timestmp, 1, 19) )
WHEN '0' THEN 'So'
WHEN '1' THEN 'Mo'
WHEN '2' THEN 'Di'
WHEN '3' THEN 'Mi'
WHEN '4' THEN 'Do'
WHEN '5' THEN 'Fr'
WHEN '6' THEN 'Sa'
END) STORED,
yearweek TEXT GENERATED ALWAYS AS (strftime('%Y', DATE(substr(Timestmp, 1, 19), '-1 day') ) || '-W' || strftime('%V', substr(Timestmp, 1, 19) ) ) STORED, ...
Die Tabelle wird stündlich durch ein Python-Script befüllt. Timestmp erhält dann Datum und Uhrzeit in diesem Format: 2024-07-12 20:00:00+0200
Nach einem INSERT sollte dann die Tabelle dann
bei weekday den entsprechenden Wochentag enthalten,
bei yearweek die ensprechende Wochennummer (2024-W28).
Dies funktioniert wie gewünscht bei weekday, jedoch nicht bei yearweek.
Könnte mir jemand sagen was ich hier falsch mache, oder warum SQlite dies nicht wie erhofft liefert?
In der Tabelle einer SQL-Datenbank gibt es diese drei Felder:
Timestmp TEXT NOT NULL,
weekday TEXT GENERATED ALWAYS AS (
CASE strftime('%w', substr(Timestmp, 1, 19) )
WHEN '0' THEN 'So'
WHEN '1' THEN 'Mo'
WHEN '2' THEN 'Di'
WHEN '3' THEN 'Mi'
WHEN '4' THEN 'Do'
WHEN '5' THEN 'Fr'
WHEN '6' THEN 'Sa'
END) STORED,
yearweek TEXT GENERATED ALWAYS AS (strftime('%Y', DATE(substr(Timestmp, 1, 19), '-1 day') ) || '-W' || strftime('%V', substr(Timestmp, 1, 19) ) ) STORED, ...
Die Tabelle wird stündlich durch ein Python-Script befüllt. Timestmp erhält dann Datum und Uhrzeit in diesem Format: 2024-07-12 20:00:00+0200
Nach einem INSERT sollte dann die Tabelle dann
bei weekday den entsprechenden Wochentag enthalten,
bei yearweek die ensprechende Wochennummer (2024-W28).
Dies funktioniert wie gewünscht bei weekday, jedoch nicht bei yearweek.
Könnte mir jemand sagen was ich hier falsch mache, oder warum SQlite dies nicht wie erhofft liefert?