TERA Mode For Strings Comparison - NO COLLATE
This section defines the translation specification for string in Tera mode without using COLLATE.
Description
Tera Mode for string comparison and NO COLLATE usages
Sample Source Patterns
Setup data
CREATE TABLE employees (
employee_id INTEGER NOT NULL,
first_name VARCHAR(50) NOT CASESPECIFIC,
last_name VARCHAR(50) CASESPECIFIC,
department VARCHAR(50)
);
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (1, 'George', 'Snow', 'Sales');
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (2, 'John', 'SNOW', 'Engineering');
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (3, 'WIlle', 'SNOW', 'Human resources ');
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (4, 'Marco', 'SnoW ', 'EngineerinG');
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (5, 'Mary', ' ', 'SaleS ');
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (6, 'GEORGE', ' ', 'sales ');
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (7, 'GEORGE ', ' ', 'salEs ');
INSERT INTO employees(employee_id, first_name, last_name, department) VALUES (8, ' GeorgE ', ' ', 'SalEs ');
INSERT INTO employees (employee_id, first_name, last_name, department) VALUES (9, 'JOHN', ' SnoW', 'IT');
INSERT INTO employees (employee_id, first_name, last_name, department) VALUES (10, 'JOHN ', 'snow', 'Finance ');
CREATE TABLE departments (
department_id INTEGER NOT NULL,
department_name VARCHAR(50) NOT CASESPECIFIC,
location VARCHAR(100) CASESPECIFIC,
PRIMARY KEY (department_id)
);
INSERT INTO departments (department_id, department_name, location) VALUES (101, 'Information Technology', 'New York');
INSERT INTO departments (department_id, department_name, location) VALUES (102, 'Human Resources', 'Chicago');
INSERT INTO departments (department_id, department_name, location) VALUES (103, 'Sales', 'San Francisco');
INSERT INTO departments (department_id, department_name, location) VALUES (104, 'Finance', 'Boston');Comparison operation
Case 1: Column constraint is NOT CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 2: Column constraint is CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 3: CAST CASESPECIFIC column to NOT CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 4: CAST NOT CASESPECIFIC column to NOT CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 5: Blank spaces case. Column constraint is NOT CASESPECIFIC, database mode is TERA Mode, and using equal operation
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
LIKE operation
Case 1: Column constraint is NOT CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 2: Column constraint is CASESPECIFIC and database mode is TERA Mode
Teradata
first_name
last_name
department
Snowflake
first_name
last_name
department
Case 3: CAST CASESPECIFIC column to NOT CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 4: CAST NOT CASESPECIFIC column to NOT CASESPECIFIC and database mode is ANSI Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
IN Operation
Case 1: Column constraint is NOT CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 2: Column constraint is CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
ORDER BY clause
Case 1: Column constraint is NOT CASESPECIFIC and database mode is TERA Mode
Teradata
department
Snowflake
department
Case 2: Column constraint is CASESPECIFIC and database mode is TERA Mode
Teradata
last_name
Snowflake
last_name
GROUP BY clause
Case 1: Column constraint is NOT CASESPECIFIC and database mode is TERA Mode
Teradata
first_name
Snowflake
first_name
Case 2: Column constraint is CASESPECIFIC and database mode is TERA Mode
Teradata
last_name
Snowflake
last_name
HAVING clause
Sample: Column constraint is CASESPECIFIC and database mode is TERA Mode
Teradata
last_name
Snowflake
last_name
CASE WHEN statement
Teradata
first_name
last_name
department_full_name
Snowflake
first_name
last_name
department_full_name
JOIN clause
Sample: Column constraint is NOT CASESPECIFIC and database mode is TERA Mode
Teradata
employee_id
first_name
last_name
department_name
Snowflake
employee_id
first_name
last_name
department_name
Known Issues
Related EWIs
Last updated
