/* Character Data Type */
/*
- CHAR(BYTE or CHAR)
* Fixed-length string type
* Max 2,000 bytes
* Default size is 1 byte
- VARCHAR2(BYTE or CHAR)
* Variable-length string type
* Max 4,000 bytes
* Default size is 1 byte
- NCHAR(BYTE)
* Fixed-length Unicode string type (Available multi-language)
* Max 2,000 bytes
* Default size is 1 byte
- NVARCHAR2(BYTE)
* Variable-length Unicode string type (Available multi-language)
* Max 4,000 bytes
* Default size is 1 byte
- LONG
* Variable-length string type
* Max 2 GigaBytes
* Not common to use
* Alternative types : CLOB, BLOB
*/
INSERT INTO ex2_1
(column1, column2)
VALUES
('abc', 'abc')
;
SELECT
column1, -- CHAR
LENGTH(column1) -- 10 bytes
AS len1,
column2, -- VARCHAR2
LENGTH(column2) -- 3 bytes
AS len2
FROM
ex2_1
;
CREATE TABLE ex2_2(
column1 VARCHAR2(3),
column2 VARCHAR2(3 BYTE),
column3 VARCHAR2(6 CHAR)
);
INSERT INTO ex2_2
VALUES
('abc', 'abc', 'abc')
;
SELECT
column1,
LENGTH(column1) -- 3 bytes
AS len1,
column2,
LENGTH(column2) -- 3 bytes
AS len2,
column3,
LENGTH(column3) -- 3 bytes
AS len3
FROM ex2_2;
INSERT INTO ex2_2
VALUES
('노경래', '개발자', '일중독') -- '노경래' generates ERROR (actual : 6, maximum : 3)
;
INSERT INTO ex2_2
(column3)
VALUES
('일중독')
;
SELECT
column3,
LENGTH(column3) -- 3 bytes
AS len3,
LENGTHB(column3) -- 6 bytes
AS bytelen
FROM ex2_2
;