Я пытаюсь извлечь число из текстовой строки и присоединить его к другой таблице.Вот что у меня есть:
SELECT sect.id,
sect.section_number,
sect.expression,
p.abbreviation
FROM sections sect
JOIN period p ON SUBSTR(sect.expression, 1, (INSTR(sect.expression,'(')-1)) = p.period_number
AND p.schoolid = 73253
AND p.year_id = 20
JOIN courses c ON sect.course_number = c.course_number
WHERE sect.schoolid = 73253
AND sect.termid >= 2000
Я прочитал некоторые другие темы и выяснил, как вырезать число (которое всегда стоит перед левой скобкой).Проблема в том, что здесь учитываются только два из трех стилей данных, которые находятся в столбце sect.expression -
9(A) - check
10(A) - check
, но не
5-6(A)
5-6 (A)отбросит ошибку неверного номера Oracle 01722.Есть ли способ, которым я мог бы изменить строку substr ..., чтобы для типа данных 5-6 (A) он захватил бы первое число (5) и соединился с этим?
Стоит упомянутьчто у меня есть только права на чтение этой таблицы, поэтому любое решение, которое зависит от создания некоторой вспомогательной таблицы / столбца, не будет работать.
Спасибо!