Я пробовал это все утро и не могу найти то, что я делаю неправильно. У меня есть строка «XXYY0000», и мне нужны XX и YY отдельно.Использование SUBSTRING с именем столбца
Так это работает и получает значения XX:
SELECT LEFT(l.LOAN_MATURITY, 2)
FROM LOAN As l
Но почему это не работает, когда мне нужно, чтобы получить значения YY?
SELECT SUBSTRING(l.LOAN_MATURITY, 3, 2)
FROM LOAN As l
Я исследовал, и это должно дать тот же результат, что и функция MID()
, но это дает мне эту ошибку.
Msg 8116, Level 16, State 1, Line 1
Аргумент тип данных числовой недопустим для аргумента 1 функции подстроки.
Почему тип данных важен для функции SUBSTRING
, но не функция LEFT
?
Почему это не работает, я не могу сказать, но это работает, когда вы бросили числовой к VARCHAR: SELECT SUBSTRING (гипсе (l.LOAN_MATURITY, как VARCHAR), 3, 2) FROM LOAN As l – Luc
Какой тип данных * * 'l.LOAN_MATURITY'? –