一尘不染

列的最小长度限制

sql

我正在尝试在Oracle中实现最小长度约束,我尝试过:

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中此检查约束的当前格式是什么?


阅读 139

收藏
2021-05-16

共1个答案

一尘不染

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

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

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

2021-05-16