CHAR数据类型存储固定长度的字符串。
VARCHAR2数据类型存储可变长度字符串。
所有字符串文字的数据类型为CHAR。
用于指定CHAR或VARCHAR2数据项的语法是:
[ CHAR | VARCHAR2 ] [( maximum_size [ CHAR | BYTE ] )]
例如:
CHAR VARCHAR2 CHAR(10 CHAR) VARCHAR2(32 BYTE)
maximum_size必须是1..32767范围内的整数字面值。
默认值为1。
比较字符值
在下面的例子中展示了如何比较两个VARCHAR2的值。
DECLARE last_name1 VARCHAR2(10) := 'HTML'; last_name2 VARCHAR2(10) := 'HTML5'; BEGIN IF last_name1 > last_name2 THEN DBMS_OUTPUT.PUT_LINE (last_name1 || ' is greater than ' || last_name2); ELSE DBMS_OUTPUT.PUT_LINE (last_name2 || ' is greater than ' || last_name1 ); END IF; END; /
注意
如果两个值都是CHAR,则PL / SQL在将它们比较之前,将较短的值填充为较长值的长度。
如果任一值为VARCHAR2,PL / SQL在比较它们之前不调整它们的长度。
DECLARE last_name1 CHAR(5) := 'HELLO'; -- no trailing blanks last_name2 CHAR(10) := 'HELLO '; -- trailing blanks BEGIN IF last_name1 = last_name2 THEN DBMS_OUTPUT.PUT_LINE (last_name1 || ' is equal to ' || last_name2); ELSE DBMS_OUTPUT.PUT_LINE (last_name2 || ' is not equal to ' || last_name1); END IF; END; /
比较两个VARCHAR2值
比较两个VARCHAR2值
DECLARE last_name1 VARCHAR2(10) := 'HELLO'; -- no trailing blanks last_name2 VARCHAR2(10) := 'HELLO '; -- trailing blanks BEGIN IF last_name1 = last_name2 THEN DBMS_OUTPUT.PUT_LINE (last_name1 || ' is equal to ' || last_name2 ); ELSE DBMS_OUTPUT.PUT_LINE (last_name2 || ' is not equal to ' || last_name1); END IF; END; /
实例2
比较CHAR值和VARCHAR2值
DECLARE last_name1 VARCHAR2(10) := 'HELLO'; last_name2 CHAR(10) := 'HELLO'; -- PL/SQL blank-pads value BEGIN IF last_name1 = last_name2 THEN DBMS_OUTPUT.PUT_LINE (last_name1 || ' is equal to ' || last_name2); ELSE DBMS_OUTPUT.PUT_LINE (last_name2 || ' is not equal to ' || last_name1 ); END IF; END; /
查看更多关于Oracle PL / SQL CHAR VARCHAR2的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did225674