2010-07-28 126 views
1

在Oracle數據庫中,我們有一個包含varchar2列類型的表(例如USERNAME)。我怎樣才能爲這個列設置精確的(或至少是最小的)長度?因此,插入此表中的所有用戶名只能有10個(或至少10個)字符長。Oracle varchar2最小長度

回答

9

你可以使用一個檢查約束:

CREATE TABLE mytable (
    mycolumn varchar2(50), 
    constraint strlen check (length(mycolumn) > 2) 
) 

或類似的東西。不過,我不確定這是多麼的高性能。

+0

它會非常完美:) – 2010-07-29 05:01:43

+0

我假設你的意思是說..用你的最小尺寸替換'2'..是的? – ShoeLace 2012-02-24 06:18:04

+0

@ShoeLace是的,你必須 – DilanG 2015-02-24 04:14:06

-1

或者只是爲了好玩,

CREATE TABLE testit 
(mycolumn VARCHAR2(20) CONSTRAINT min_length_chk CHECK (mycolumn LIKE '__%')); 

這比長度()方法不太明顯,但這樣我不知道,我推薦它,除非一個想法相關的問題。