Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle DB - Đặt Số đầu vào thành độ dài chính xác

Đặ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ệ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách giải quyết ORA-28000 tài khoản bị khóa

  2. oracle - chuỗi không có chuỗi

  3. Lỗi chuỗi nhà phát triển Oracle Sql quá dài theo nghĩa đen

  4. Hạn chế truy vấn bên trong với thuộc tính truy vấn bên ngoài

  5. Tách tệp văn bản / CSV lớn thành nhiều tệp trong PL SQL