Я новичок в языке sql, и я был бы признателен за вашу помощь. Я хочу передать переменную (т. е. столбец) в предопределенную функцию, например «конвертировать» или «шестнадцатеричный».
select hextobigint('14c9d0742dc')
возвращает 1428563641052
тем временем приведенный ниже код не выполняется ()
begin
declare @st varchar(16);
set @st=dc.table.START_TIME;
select hextobigint('dc.table.START_TIME') FROM dc.table;
end
Ошибка
Корреляционное имя "таблица" не найдено.
Также для функции возвращается правильное значение:
select convert (bigint,0x14c9d0742dc)
но
select convert (bigint,14c9d0742dc)
не
Синтаксическая ошибка «c9d0742dc» в строке 1.
также
select convert(bigint,dc.table.START_TIME) FROM dc.table
возвращает только null, потому что формат столбца похож на «14c9d0742dc».
Область состоит в том, чтобы передать переменную (столбец) в эти функции "hextobigint" и "convert". Не могли бы вы помочь?