Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle DB - Eingabenummer auf exakte Länge setzen

Legen Sie den Datentyp für diese Spalte auf varchar(11) fest . Wenn es jedes Mal genau 11 Zeichen sein müssen, garantiert eine Check-Einschränkung Folgendes:check (length(phone_no) = 11) . Um Länge und "Numeralität" (alle Ziffern, keine Buchstaben) zu garantieren, verwenden Sie

check (length(phone_no) = 11 and 
       regexp_like(phone_no, '^[[:digit:]]{11}$')
)

Wenn Sie einen numerischen Typ verwenden müssen – und das ist eine schlechte Idee – ist Ihre beste Wahl wahrscheinlich numeric(11,0).

Eine Check-Einschränkung kann Ihnen helfen, den Bereich gültiger Eingaben einzuschränken, aber keine numerischen Typen speichern führende Nullen. Bei so etwas wie 00125436754 müssen Sie durch unnötige und vermeidbare Hürden springen ist eine gültige Telefonnummer.