Этот модуль (который я написал) предназначен для атрибутов SQLCol. Произошло то, что MS отказалась от SQLColAttributes и заменила его на SQLColAttribute. Кстати, в модуле есть опечатка, которая должна быть $ sth, а не $ dbh (я только что исправил это). ColAttributes теперь заменяется атрибутами DBI в большинстве случаев, например, PRECISION . Вы не можете передать новые типы SQLColAttribute в SQLColAttributes с помощью DBD :: ODBC, поскольку он знает только о тех, которые ODBC определил для SQLColAttributes, и как ODBC разрешил специфичные для драйвера атрибуты (для которых DBD :: ODBC, возможно, не мог знать тип) его должен перехватить их и выдать сообщение «атрибуты столбца, не поддерживаемые драйвером».
См. SQLColAttribute , в котором перечислены все значения, которые вы можете передать в ColAttribute. Вам придется искать в заголовочных файлах sql * .h значения. Тем не менее, я не вижу интервал, ведущий точность в списке. Я вижу, что SQL_DESC_PRECISION говорит: «Для типов данных SQL_TYPE_TIME, SQL_TYPE_TIMESTAMP и всех типов данных интервала, представляющих интервал времени, его значение является применимой точностью компонента доли секунды». Поэтому я не уверен, что вы имеете в виду под «точностью до интервала».
Какой драйвер ODBC вы используете?