I have a date range column e.g. 1960-1970 in a table, I'm splitting these and copying them to new columns, I need to cast the string to an integer, the following code returns a generic syntax error, any ideas where I'm going wrong?
INSERT INTO rhp_tvp.time (
visit_id_tmp,
tvp_id_tmp,
time_start,
time_end)
SELECT
v.visit_id,
v.tvp_id,
cast(LEFT(date_range, 4)AS int8),
cast(RIGHT(date_range, 4) AS int8)
FROM tvp.visit v
WHERE date_format = 'DMY' AND date_range NOT LIKE 'Pre%' OR date_range IS NOT NULL;
ERROR: invalid input syntax for integer: "13/1" SQL state: 22P02