Đặt kiểu dữ liệu cho cột đó thành varchar(11)
. Nếu nó phải có chính xác 11 ký tự mỗi lần, một ràng buộc kiểm tra sẽ đảm bảo rằng:check (length(phone_no) = 11)
. Để đảm bảo độ dài và "số" (tất cả các chữ số, không có chữ cái), hãy sử dụng
check (length(phone_no) = 11 and
regexp_like(phone_no, '^[[:digit:]]{11}$')
)
Nếu bạn phải sử dụng kiểu số - và đây là một ý tưởng tồi - đặt cược tốt nhất của bạn có lẽ là số (11,0).
Ràng buộc kiểm tra có thể giúp bạn hạn chế phạm vi đầu vào hợp lệ, nhưng không có kiểu số nào lưu trữ các số 0 đứng đầu. Bạn sẽ phải vượt qua các vòng lặp không cần thiết và có thể tránh được nếu như 00125436754
là một số điện thoại hợp lệ.