The following table describes the things to consider when using the FIELD command.
Topic | Usage Notes |
---|---|
Command Placement and Frequency | A FIELD command must be preceded by a LAYOUT
command. One or more FIELD commands, or a combination of FIELD command and FILLER command, define the composition of the input data record to supply values for the USING modifier of the SELECT statement. |
Specifying ARRAY Data Types | A column that is defined as an ARRAY data type in
a Teradata table must be specified as a VARCHAR data type in the FIELD command. The
external representation for an ARRAY data type is VARCHAR. The following is a sample Teradata table definition that includes a one-dimensional ARRAY data type for the COL003 column: CREATE SET TABLE SOURCE_TABLE ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT, DEFAULT MERGEBLOCKRATIO ( EMP_ID INTEGER, EMP_NO BYTEINT, COL003 SYSUDTLIB.PHONENUMBERS_ARY, COL004 SYSUDTLIB.DECIMAL_ARY, COL005 SYSUDTLIB.INTEGER_ARY) UNIQUE PRIMARY INDEX ( EMP_ID ); |
The following is a sample definition for the PHONENUMBERS_ARY data type:CREATE TYPE PHONENUMBERS_ARY AS CHAR(10) CHARACTER SET LATIN ARRAY [2]; The following is a sample definition for the DECIMAL_ARY data type: CREATE TYPE DECIMAL_ARY AS DECIMAL(5,2) ARRAY[2]; The following is a sample definition for the INTEGER_ARY data type: CREATE TYPE INTEGER_ARY AS INTEGER ARRAY[2]; The following is a sample FastExport layout definition for the sample SOURCE_TABLE table: .FIELD EMP_ID * INTEGER; .FIELD EMP_NO * BYTEINT; .FIELD COL003 * VARCHAR(47); .FIELD COL004 * VARCHAR(17); .FIELD COL005 * VARCHAR(25); In the previous example, the COL003 column is defined as VARCHAR(47) because it's the maximum representation for the COL003 column in the table. The following is the calculation for the maximum representation for the COL003 column: 1 byte for the left parenthesis + 1 byte for the single quote + 10 to 20 bytes for the first element + 1 byte for the single quote + 1 byte for the comma + 1 byte for the single quote + 10 to 20 bytes for the second element + 1 byte for the single quote + 1 byte for the right parenthesis __________________________________ 47 bytes The following are two samples of data for the COL003 column: Sample data 1: ('3105551234','3105551234') Sample data 2: ('''''''''''''''''''''','''''''''''''''''''''') Sample data 1 contains 2 elements of phone numbers. Sample data 2 contains 2 elements of all single quote characters. In the previous example, the COL004 column is defined as VARCHAR(17), because it's the maximum representation for the COL004 column in the table. The following is the calculation for the maximum representation for the COL004 column: |
|
1 byte for the left parenthesis + 1 to 7 bytes for the first element + 1 byte for the comma + 1 to 7 bytes for the second element + 1 byte for the right parenthesis __________________________________ 17 bytes The following are two samples of data for the COL004 column: Sample data 1: (-123.45,888.10) Sample data 2: (+123.45,-888.10) In the previous example, the COL005 column is defined as VARCHAR(25), because it's the maximum representation for the COL005 column in the table. The following is the calculation for the maximum representation for the COL005 column: 1 byte for the left parenthesis + 1 to 11 bytes for the first element + 1 byte for the comma + 1 to 11 bytes for the first element + 1 byte for the right parenthesis __________________________________ 25 bytes The following are two samples of data for the COL005 column: Sample data 1: (-2147483648,+2147483647) Sample data 2: (0,0) Use the Teradata SQL "HELP TYPE" command to find out the maximum length for the ARRAY data type. For example, the information for the sample PHONENUMBERS_ARY, DECIMAL_ARY, and INTEGER_ARY ARRAY data types can look like as follows: help type PHONENUMBERS_ARY; *** Help information returned. One row. *** Total elapsed time was 1 second. Name PHONENUMBERS_ARY Internal Type A1 External Type CV Max Length 47 Array(Y/N) Y Dimensions 1 Element Type CF UDT Name ? Array Scope [1:2] Total Digits ? Fractional Digits ? Contains Lob N Ordering F Ordering Category M Ordering Routine LOCAL Cast N Transform Y Method Y Char Type 1 HELP TYPE DECIMAL_ARY; *** Help information returned. One row. *** Total elapsed time was 1 second. Name DECIMAL_ARY Internal Type A1 External Type CV Max Length 17 Decimal Total Digits ? Decimal Fractional Digits ? Contains Lob N Ordering F Ordering Category M Ordering Routine LOCAL Cast N Transform Y Method Y Char Type 1 Array(Y/N) Y Dimensions 1 Element Type D UDT Name ? Array Scope [1:2] HELP TYPE INTEGER_ARY; *** Help information returned. One row. *** Total elapsed time was 1 second. Name INTEGER_ARY Internal Type A1 External Type CV Max Length 25 Decimal Total Digits ? Decimal Fractional Digits ? Contains Lob N Ordering F Ordering Category M Ordering Routine LOCAL Cast N Transform Y Method Y Char Type 1 Array(Y/N) Y Dimensions 1 Element Type I UDT Name ? Array Scope [1:2] As indicated in the returned information from the HELP TYPE command, the maximum length for the sample PHONENUMBERS_ARY ARRAY data type is 47 bytes. The maximum length for the sample DECIMAL_ARY ARRAY data type is 17 bytes. The maximum length for the sample INTEGER_ARY ARRAY data type is 25 bytes. For more information about the external representations for the ARRAY data type, see Teradata Vantage™ - Data Types and Literals, B035-1143. |
|
Specifying DECIMAL Data Types | The following input length and field descriptions apply for the DECIMAL data type specifications which make in the datadesc parameter. DECIMAL (x) and DECIMAL (x,y)
For more information on the DECIMAL data type, see Teradata Vantage™ - Data Types and Literals, B035-1143. |
Specifying Period Data Types | A period is an anchored duration. It represents a set of contiguous time granules within that duration. A period is implemented using a Period data type. Each period consists of two elements:
The element type is one of the following DateTime data types.
For more information on the PERIOD data type, see Teradata Vantage™ - Data Types and Literals, B035-1143. |
Using ANSI/SQL DateTime Data Types | When the DATEFORM command is used to specify
ANSIDATE as the DATE data type, FastExport internally converts each DATE field to a
CHAR(10) field. All ANSI/SQL DateTime TIME, TIMESTAMP, and INTERVAL data types must
be converted to fixed-length CHAR data types to specify column/field names in a
FastExport FIELD command. The following table provides the conversion specifications and format examples for each ANSI/SQL DateTime specification. |
The following are descriptions of the ANSI/SQL Date Time Specifications.
- DATE
- Convert to: CHAR(10)
- TIME
- TIME (n)
- Where n is the number of digits after the decimal point, 0 through 6. (Default = 6.)
- TIMESTAMP
- TIMESTAMP (n)
- Where n is the number of digits after the decimal point, 0 through 6. (Default = 6.)
- TIME WITH TIME ZONE
- TIME (n) WITH TIME ZONE
- Where n is the number of digits after the decimal point, 0 through 6. (Default = 6.)
- TIMESTAMP WITH TIME ZONE
- TIMESTAMP (n) WITH TIME ZONE
- Where n is the number of digits after the decimal point, 0 through 6. (Default = 6.)
- INTERVAL YEAR
- INTERVAL YEAR (n)
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL YEAR TO MONTH
- INTERVAL YEAR (n) TO MONTH
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL MONTH
- INTERVAL MONTH (n)
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL DAY
- INTERVAL DAY (n)
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL DAY TO HOUR
- INTERVAL DAY (n) TO HOUR
- Wheren is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL DAY TO MINUTE
- INTERVAL DAY (n) TO MINUTE
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL DAY TO SECOND
- INTERVAL DAY (n) TO SECOND
- INTERVAL DAY TO SECOND (m)
- INTERVAL DAY (n) TO SECOND (m)
- Where:
- n is the number of digits, 1 through 4. (Default = 2.)
- m is the number of digits after the decimal point, 0 through 6. (Default = 6.)
- INTERVAL HOUR
- INTERVAL HOUR (n)
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL HOUR TO MINUTE
- INTERVAL HOUR (n) TO MINUTE
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL HOUR TO SECOND
- INTERVAL HOUR (n) TO SECOND
- INTERVAL HOUR TO SECOND (m)
- INTERVAL HOUR (n) TO SECOND (m)
- Where:
- n is the number of digits, 1 through 4. (Default = 2.)
- m is the number of digits after the decimal point, 0 through 6. (Default = 6.)
- INTERVAL MINUTE
- INTERVAL MINUTE (n)
- Where n is the number of digits, 1 through 4. (Default = 2.)
- INTERVAL MINUTE TO SECOND
- INTERVAL MINUTE (n) TO SECOND
- INTERVAL MINUTE TO SECOND (m)
- INTERVAL MINUTE (n) TO SECOND (m)
- Where:
- n is the number of digits, 1 through 4. (Default = 2.)
- m is the number of digits after the decimal point, 0 through 6. (Default = 6.)
- INTERVAL SECOND
- INTERVAL SECOND (n)
- INTERVAL SECOND (n,m)
- Where:
- n is the number of digits, 1 through 4. (Default = 2.)
- m is the number of digits after the decimal point, 0 through 6. (Default = 6.)