Лично я бы предпочел проверять целые числа, используя числовые ограничения. Так что возникает вопрос: вы действительно хотите посмотреть на длину символа строкового представления целого числа? Например, -100000
должно быть разрешено? Я предполагаю, что это не так, и предлагаю что-то вроде:
create table EMPLOYEE (
employeeno integer
CHECK (employeeno BETWEEN 1000000 AND 999999)
NOT NULL PRIMARY KEY
);
Примечание. Я изменил bigint на целое число, поскольку ограничение обязательно предотвращает добавление значений, выходящих за пределы точности целого числа