本文共 2556 字,大约阅读时间需要 8 分钟。
-- Start
CREATE TABLE TEST( -- 语法:CHAR [(size [BYTE | CHAR])] -- 默认长度(size)是 1,最大长度是 2000 -- 默认修饰符是 BYTE, 但可以通过修改参数 NLS_LENGTH_SEMANTICS 来设置默认值为 CHAR -- SELECT * FROM NLS_SESSION_PARAMETERS WHERE PARAMETER='NLS_LENGTH_SEMANTICS' COL1 CHAR, -- 同 COL1 相同 COL2 CHAR(1 BYTE), -- 根据数据库字符集的不同,CHAR 由 1 到 4 BYTE 组成, -- 所以如果你的数据库是此类字符集,那么推荐你使用 CHAR -- 由于性能的原因,Oracle 推荐我们不要指定长度修饰符,而是通过 NLS_LENGTH_SEMANTICS 来设置 -- ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR COL3 CHAR(10 CHAR));-- 语法 1:''-- 如果要输入单引号,用两个单引号代表一个单引号INSERT INTO TEST VALUES ('a', '1', 'I''m bo');-- 语法 2:q'delimiter XXX delimiter'INSERT INTO TEST VALUES ('b', '2', q'/I'm bo/');INSERT INTO TEST VALUES ('c', '3', Q'[I'm bo]');INSERT INTO TEST VALUES ('d', '4', q'8I'm bo8');INSERT INTO TEST VALUES ('e', '5', Q'KI'm boK');INSERT INTO TEST VALUES ('f', '6', q' ');
CREATE TABLE TEST( -- 语法:VARCHAR2(size [BYTE | CHAR]) -- 如果 MAX_STRING_SIZE=STANDARD, 最大长度是 4000 bytes -- 如果 MAX_STRING_SIZE=EXTENDED, 最大长度是 32767 bytes -- 默认修饰符是 BYTE, 但可以通过修改参数 NLS_LENGTH_SEMANTICS 来设置默认值为 CHAR -- SELECT * FROM NLS_SESSION_PARAMETERS WHERE PARAMETER='NLS_LENGTH_SEMANTICS' COL1 VARCHAR2(10), -- 同 COL1 相同 COL2 VARCHAR2(10 BYTE), -- 由于性能的原因,Oracle 推荐我们不要指定长度修饰符,而是通过 NLS_LENGTH_SEMANTICS 来设置 -- ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR COL3 VARCHAR2(10 CHAR));-- 语法 1:''-- 语法 2:q'delimiter XXX delimiter'INSERT INTO TEST VALUES ('I''m bo', Q'[I'm bo]', q'/I'm bo/');INSERT INTO TEST VALUES (q'8I'm bo8', Q'KI'm boK', q' ');
CREATE TABLE TEST( -- 语法:NCHAR[(size)] -- 默认长度(size)是 1 个字符(char),最大长度是 2000 个字节(byte),注意是字节, -- 如果数据库编码 1 个字符由 2 个字节组成,那么最大长度是 1000 个字符 COL1 NCHAR, -- NCHAR 列只能插入 UNICODE 编码的字符串,由于编码不同,CHAR 和 NCHAR 是不兼容的 COL2 NCHAR(10));-- 语法 1:N'xxx'INSERT INTO TEST VALUES (n'a', N'尚波');-- 语法2:NQ'delimiter XXX delimiter'INSERT INTO TEST VALUES (n'a', nq'[尚波]');INSERT INTO TEST VALUES (n'b', nq'8尚波8');INSERT INTO TEST VALUES (n'c', nq'H尚波H');INSERT INTO TEST VALUES (n'd', nq'/尚波/');
CREATE TABLE TEST( -- 语法:NVARCHAR2(size) -- NVARCHAR2 列只能插入 UNICODE 编码的字符串 -- 如果 MAX_STRING_SIZE=STANDARD, 最大长度是 4000 bytes -- 如果 MAX_STRING_SIZE=EXTENDED, 最大长度是 32767 bytes COL1 NVARCHAR2(10));-- 语法 1:N'xxx'INSERT INTO TEST VALUES (N'尚波');-- 语法2:NQ'delimiter XXX delimiter'INSERT INTO TEST VALUES (nq'[尚波]');INSERT INTO TEST VALUES (Nq'8尚波8');INSERT INTO TEST VALUES (nQ'H尚波H');INSERT INTO TEST VALUES (NQ'/尚波/');
--更多参见:
-- 声明:转载请注明出处
-- Last edited on 2015-07-04
-- Created by ShangBo on 2014-12-07
-- End