Accept Timestamp Values Using Any Type of Character Separators
When CASTing text to a timestamp, you can allow Hyper-Q to accept timestamp values with any character as separators between timestamp parts.
The timestamp must follow the default format of 0000_00_00_00_00_00.0{0,6}, where the underscore (_) represents the separator character and curly braces ({}) represent the range possible millisecond digits, otherwise it is returned as a null value. Examples of accepted timestamps include: '2021-02-03-22.00.00.000000' and '2021g02g03g22g00g00.000000'.
INSERT INTO table_name VALUES ('2021-02-03-22.00.00.000000');Hyper-Q provides the following error message when the backend database encounters an an unsupported timestamp value.
*** Failure 3706 DTM3103: Failed to run query on the underlying database: Invalid timestamp: '2021-02-03-22.00.00.000000'
Caution
Enabling this feature creates a larger query which may affect performance.
Related to text_to_timestamp_advanced_separators is the Hyper-Q hint text_to_timestamp_advanced_separators_strict_format_checking. To learn more, see Apply Strict Checks of Teradata Timestamps.
The syntax for text_to_timestamp_advanced_separators is:
text_to_timestamp_advanced_separators = true | false
where:
Parameter | Description |
|---|---|
| Enables the use of timestamp values with any character as separators between timestamp parts. |
| Disables the use timestamp values with any character as separators between timestamp parts. This is the default behavior if not specified. |
Hint Scope
The text_to_timestamp_advanced_separators hint can be specified at the statement, request, session, and global level. To learn more about Hyper-Q SQL hints, and how to use them within a SQL query, see About Hyper-Q SQL Hints.
You can specify text_to_timestamp_advanced_separators as a global setting in the Hyper-Q configuration file (dtm.ini). To enable text_to_timestamp_advanced_separators, set it to true. The default value is false.
"gateway".text_to_timestamp_advanced_separators = true
To learn more about specifying a hint as a gateway option in the Hyper-Q configuration file, see Gateway Configuration Parameters.
You can specify text_to_timestamp_advanced_separators as a query hint at either the session or query level. This example specifies that the hint be used at the for session level.
INSERT INTO table_name
-- @dtm_text_to_timestamp_advanced_separators = true
VALUES ('2021-02-03-22.00.00.000000');To learn more about Hyper-Q SQL hints, and how to use them within a SQL query, see About Hyper-Q SQL Hints.