Тип данных DECIMAL может содержать десятичную точку с точностью до 31 цифры. Тип данных INTEGER не может, так как это целое число.
Вы, безусловно, можете использовать тип данных DECIMAL для представления целого числа, хотя, если вы храните целое число, вам, вероятно, следует использовать тип данных INTEGER для предотвращения путаницы.
Мое лучшее предположение относительно того, почему ваша база данных использует DECIMAL для представления целого числа, заключается в том, что DECIMAL предоставляет больший диапазон: от -10 31 + 1 до 10 31-1. INTEGER идет только от -2,147,483,648 до +2,147,483,647, а BIGINT - от -9,223,372,036,854,775,808 до + 9,223,372,036,854,775,807.