列的最小长度约束

时间:2015-08-22 13:24:14

标签: sql oracle constraints

我正在尝试在Oracle中实现最小长度约束。

当我读到this回答以及我尝试过的其他类似问题时:

ALTER TABLE my_table 
ADD CONSTRAINT MY_TABLE_PASSWORD_CK CHECK (DATALENGTH(password) >=4)

我得到了"DATALENGTH": invalid identifier"。我也尝试过:

( DATALENGTH([password]) >=4 )
( LEN([password]) >=4 )
( LEN(password) >=4 )

Oracle中此检查约束的当前格式是什么?

1 个答案:

答案 0 :(得分:12)

DATALENGTH()返回 SQL Server 中的字节长度。等效的Oracle函数是LENGTHB()(记录为here):

ALTER TABLE my_table
    ADD CONSTRAINT MY_TABLE_PASSWORD_CK CHECK (LENGTHB(password) >= 4)

但是,出于您的目的,我认为字符串长度适用于两个数据库,Oracle中的LENGTH()(或SQL Server中的LEN())。