对使用数字变化的字符的约束



我有这段代码(只是摘录)。。。

CREATE TABLE "Degree"
(
  ippp_code character varying(5) CONSTRAINT four_or_five_chars_only CHECK (ippp_code >= 4 OR ippp_code <= 5) NOT NULL
)

我要做的是使ippp_code最多包含5个字符,或者最少包含4个字符。因此,您只能输入4或5个字符。

当我运行代码时,我收到一条错误消息,上面写着。。。

错误:运算符不存在:字符变化>=整数提示:没有与给定名称和参数类型匹配的运算符。你可能需要添加显式类型强制转换。

**错误***

错误:运算符不存在:字符变化>=整数SQLstate:42883提示:没有与给定名称和参数匹配的运算符类型。您可能需要添加显式类型强制转换。

我想知道我可以使用我使用字符变化设置的约束吗?我还可以更正代码吗?

CREATE TABLE "Degree" 
( 
  ippp_code character varying(5) CONSTRAINT four_or_five_chars_only CHECK (length(ippp_code) >= 4 OR length(ippp_code) <= 5) NOT NULL 
) 

您试图检查ippp_code的值是否在4和5之间,而不是长度。

试试这个:

CREATE TABLE Degree
(
  ippp_code varchar2(5) not null, 
  CONSTRAINT four_or_five_chars_only 
  CHECK (length(ippp_code) between 4 and 5)
);

最新更新