Repository: incubator-trafodion Updated Branches: refs/heads/master 8a328df22 -> 1ce089a0f
Add VARCHAR2 for *Trafodion SQL Reference Manual* Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/c87f7f6d Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/c87f7f6d Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/c87f7f6d Branch: refs/heads/master Commit: c87f7f6d277cdaa3bed6f1abc82db0e9c5b75743 Parents: b2b01f4 Author: liu.yu <[email protected]> Authored: Fri Dec 8 19:11:21 2017 +0800 Committer: liu.yu <[email protected]> Committed: Fri Dec 8 19:11:21 2017 +0800 ---------------------------------------------------------------------- .../_chapters/sql_language_elements.adoc | 20 +++++++++++--- .../src/asciidoc/_chapters/sql_statements.adoc | 28 ++++++++++++++++++++ 2 files changed, 44 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c87f7f6d/docs/sql_reference/src/asciidoc/_chapters/sql_language_elements.adoc ---------------------------------------------------------------------- diff --git a/docs/sql_reference/src/asciidoc/_chapters/sql_language_elements.adoc b/docs/sql_reference/src/asciidoc/_chapters/sql_language_elements.adoc index a6284c0..36ad0e5 100644 --- a/docs/sql_reference/src/asciidoc/_chapters/sql_language_elements.adoc +++ b/docs/sql_reference/src/asciidoc/_chapters/sql_language_elements.adoc @@ -323,10 +323,11 @@ The following table summarizes the {project-name} SQL data types: [cols="14%,14%,24%,24%,24%",options="header"] |=== | Category | Type | SQL Designation | Description | Size or Range^1^ -.7+| Character String Data Type .3+| Fixed-length character | CHAR[ACTER] | Fixed-length character data | 1 to 200000 characters^2^ ^8^ +.8+| Character String Data Type .3+| Fixed-length character | CHAR[ACTER] | Fixed-length character data | 1 to 200000 characters^2^ ^8^ | NCHAR | Fixed-length character data in predefined national character set | 1 to 200000 bytes^3^ ^7^ ^9^ | NATIONAL CHAR[ACTER] | Fixed-length character data in predefined national character set | 1 to 200000 bytes^3^ ^7^ ^9^ -.4+| Variable-length character | VARCHAR | Variable-length ASCII character string | 1 to 200000 characters^4^ ^8^ +.5+| Variable-length character | VARCHAR | Variable-length ASCII character string | 1 to 200000 characters^4^ ^8^ +| VARCHAR2 | Variable-length ASCII character string | 1 to 200000 characters^4^ ^8^ | CHAR[ACTER] VARYING | Variable-length ASCII character string | 1 to 200000 characters^4^ ^8^ | NCHAR VARYING | Variable-length ASCII character string | 1 to 200000 bytes^4^ ^7^ ^9^ | NATIONAL CHAR[ACTER] VARYING | Variable-length ASCII character string | 1 to 200000 characters^4^ ^7^ ^8^ @@ -607,6 +608,7 @@ numeric, datetime, or interval data. CHAR[ACTER] [(length [unit])] [char-set] [UPSHIFT] [[NOT]CASESPECIFIC] | CHAR[ACTER] VARYING(length [unit]) [char-set] [UPSHIFT] [[NOT]CASESPECIFIC] | VARCHAR(length [unit]) [CHARACTERS] [char-set] [UPSHIFT] [[NOT]CASESPECIFIC] +| VARCHAR2(length [unit]) [CHARACTERS] [char-set] [UPSHIFT] [[NOT]CASESPECIFIC] | NCHAR [(length)] [UPSHIFT] [[NOT]CASESPECIFIC] | NCHAR VARYING (length) [UPSHIFT] [[NOT]CASESPECIFIC] | NATIONAL CHAR[ACTER] [(length)] [UPSHIFT] [[NOT]CASESPECIFIC] @@ -614,8 +616,10 @@ CHAR[ACTER] [(length [unit])] [char-set] [UPSHIFT] [[NOT]CASESPECIFIC] ``` + -CHAR, NCHAR, and NATIONAL CHAR are fixed-length character types. CHAR -VARYING, VARCHAR, NCHAR VARYING and NATIONAL CHAR VARYING are +CHAR, NCHAR, and NATIONAL CHAR are fixed-length character types. + ++ +CHAR VARYING, VARCHAR, VARCHAR2, NCHAR VARYING and NATIONAL CHAR VARYING are varying-length character types. * `_length_` @@ -669,6 +673,14 @@ an equivalent column that is not VARYING. specifies a column with varying-length character data. VARCHAR is equivalent to data type CHAR[ACTER] VARYING. +* `VARCHAR2 (_length_ [_unit_]) [_char-set_] [UPSHIFT] [[NOT]CASESPECIFIC]` ++ +specifies a column with varying-length character data. VARCHAR2 is +equivalent to data type CHAR[ACTER] VARYING. + +NOTE: Trafodion supports VARCHAR2 as a synonym for VARCHAR. This improves portability from some popular databases. +VARCHAR2 in Trafodion, however, has the standard semantics of VARCHAR. That is, an empty string is a non-null value. + * `NCHAR [(_length_)] [UPSHIFT] [[NOT]CASESPECIFIC], NATIONAL CHAR[ACTER] [(_length_)] [UPSHIFT] [[NOT]CASESPECIFIC]` + specifies a column with data in the predefined national character set (UCS2). http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c87f7f6d/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc ---------------------------------------------------------------------- diff --git a/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc b/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc index a81499c..7ffd7b9 100644 --- a/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc +++ b/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc @@ -398,6 +398,8 @@ data-type is: [upshift] [[not] casespecific] | varchar (length) [character set char-set-name] [upshift] [[not] casespecific] + | varchar2 (length) [character set char-set-name] + [upshift] [[not] casespecific] | numeric [(precision [,scale])] [signed|unsigned] | nchar [(length) [character set char-set-name] [upshift] [[not] casespecific] @@ -1878,6 +1880,7 @@ _sql-datatype_ can be: | char[acter] + char[acter] varying + varchar + +varchar2 + pic[ture] x^1^ + nchar + nchar varying + @@ -2660,6 +2663,8 @@ data-type is: [upshift] [[not]casespecific] | varchar (length) [character set char-set-name] [upshift] [[not]casespecific] + | varchar2 (length) [character set char-set-name] + [upshift] [[not]casespecific] | nchar (length) [characters] [upshift] [[not]casespecific] | nchar varying(length [characters]) [upshift] [[not] casespecific] | numeric [(precision [,scale])] [signed|unsigned] @@ -3380,6 +3385,29 @@ PRIMARY KEY (store_id, item_id, sale_date, chcol)) DIVISION BY (SUBSTR(chcol, 1, 5)); ``` +* This example creates a table using varchar2 data type which is same as varchar. ++ +``` +CREATE TABLE testvarchar2(c1 varchar(32), c2 varchar2(32) upshift not casespecific); + +--- SQL operation complete. + + +SHOWDDL testvarchar2; + +CREATE TABLE TRAFODION.SEABASE.TESTVARCHAR2 + ( + C1 VARCHAR(32) CHARACTER SET ISO88591 COLLATE + DEFAULT DEFAULT NULL NOT SERIALIZED + , C2 VARCHAR(32) CHARACTER SET ISO88591 COLLATE + DEFAULT UPSHIFT DEFAULT NULL NOT SERIALIZED + ) +ATTRIBUTES ALIGNED FORMAT +; + +--- SQL operation complete. +``` + <<< [[create_table_examples_create_table_as]] ==== Examples of CREATE TABLE AS
