Я пытаюсь создать оператор SQL, чтобы вернуть только часть результата столбца. Я просмотрел SubString и InString, но у меня много проблем с возвратом нужных мне значений.
Пример данных таблицы:
RM123 - N60
RM123 - J44
RM123 - Q24
RM123 - U55-R07 - 1
RM123 - U54-R06 - 1
RM123 - R47-R11 - 1
Мне нужно вернуть данные только после второго пробела и до третьего (могут содержать тире, НЕ будут содержать пробелы в необходимых результатах):
N60
J44
Q24
U55-R07
U54-R06
R47-R11
Эквивалент того, что мне нужно в awk...
$ awk '{print $3}' /tmp/sql.out
N60
J44
Q24
U55-R07
U54-R06
R47-R11
Любая помощь будет оценена по достоинству!
select SUBSTR(Serial_Number, 1, INSTR(Serial_Number, ' ')-1) AS ouput
. Однако в этом случае это обеспечивает только RM123, я не могу разобраться, как получить положение второго пробела и длину данных, между которыми, по-видимому, требуется substr. - person nvrmore100   schedule 15.08.2012INSTR()
указать начальный индекс (#подсказка#). Кроме того, вам может повезти, если вы оберните вещи в некоторые слои CTE, что позволит вам вычислять значения функции только один раз. - person Clockwork-Muse   schedule 15.08.2012