我正在尝试在Oracle中实现最小长度约束,我尝试过:
ALTER TABLE my_table ADD CONSTRAINT MY_TABLE_PASSWORD_CK CHECK (DATALENGTH(password) >=4)
而且我得到了"DATALENGTH": invalid identifier"。我也尝试过:
"DATALENGTH": invalid identifier"
( DATALENGTH([password]) >=4 ) ( LEN([password]) >=4 ) ( LEN(password) >=4 )
Oracle中此检查约束的当前格式是什么?
DATALENGTH()返回 SQL Server 中的字节长度。等效的Oracle函数是LENGTHB()(在此处记录):
DATALENGTH()
LENGTHB()
ALTER TABLE my_table ADD CONSTRAINT MY_TABLE_PASSWORD_CK CHECK (LENGTHB(password) >= 4)
但是,出于您的目的,我认为字符串长度在两个数据库,LENGTH()Oracle(或LEN()SQL Server)中都是合适的。
LENGTH()
LEN()