1
在oracle數據庫中,我有一個'emp_table'表,它具有一個列'eTIN',它是NVARCHAR2(12)。我想修改它只接受0-9作爲字符。我不想修改爲數字類型。這樣下一次我將有足夠的空間進一步修改它。如何實現這一目標?oracle特定列接受字符的特定格式
在oracle數據庫中,我有一個'emp_table'表,它具有一個列'eTIN',它是NVARCHAR2(12)。我想修改它只接受0-9作爲字符。我不想修改爲數字類型。這樣下一次我將有足夠的空間進一步修改它。如何實現這一目標?oracle特定列接受字符的特定格式
你可以嘗試使用CHECK約束這樣的:
CHECK (regexp_like(myCol,'^[[:digit:]]+$'))
喜歡的東西
SQL> CREATE TABLE myTable(
2 myCol VARCHAR2(12),
3 CONSTRAINT constraint_name CHECK (regexp_like(myCol,'^[[:digit:]]+$'))
4 )
5/
如果已經創建表,然後簡單地ALTER像這樣的表:
ALTER TABLE myTable ADD CONSTRAINT constraint_name CHECK (regexp_like(myCol,'^[[:digit:]]+$'))