在Oracle db中,我们有一个包含varchar2类型列的表(例如USERNAME)。如何为此列设置精确(或至少最小)的长度?因此,插入此表的所有用户名只能是10个(或必须至少10个)字符长。
答案 0 :(得分:10)
您可以使用检查约束:
CREATE TABLE mytable (
mycolumn varchar2(50),
constraint strlen check (length(mycolumn) > 2)
)
或类似的东西。不过,我不确定这是多么高效。
答案 1 :(得分:-1)
或只是为了好玩,
CREATE TABLE testit
( mycolumn VARCHAR2(20) CONSTRAINT min_length_chk CHECK (mycolumn LIKE '__%') );
它不如LENGTH()方法明确,但我不确定我是否推荐它除了作为相关问题的想法。