ANSI Mode For Strings Comparison - NO COLLATE
This section defines the translation specification for a string in ANSI mode without the use of COLLATE.
Description
ANSI mode for string comparison and NO COLATE 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 ANSI 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 ANSI Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 3: CAST NOT CASESPECIFIC column to CASESPECIFIC and database mode is ANSI Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 4: CAST 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
LIKE operation
Case 1: Column constraint is NOT CASESPECIFIC and database mode is ANSI 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 ANSI Mode
Teradata
employee_id
first_name
last_name
department
Snowflake
employee_id
first_name
last_name
department
Case 3: 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
Case 4: CAST 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 ANSI 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 ANSI 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 ANSI Mode
Teradata
department
Snowflake
department
Case 2: Column constraint is CASESPECIFIC and database mode is ANSI Mode
Teradata
department
Snowflake
department
GROUP BY clause
Case 1: Column constraint is NOT CASESPECIFIC and database mode is ANSI Mode
Teradata
first_name
Snowflake
FIRST_NAME
Case 2: Column constraint is CASESPECIFIC and database mode is ANSI Mode
Teradata
last_name
Snowflake
last_name
HAVING clause
Sample: Column constraint is NOT CASESPECIFIC and database mode is ANSI Mode
Teradata
Snowflake
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 CASESPECIFIC and database mode is ANSI Mode
Teradata
employee_id
first_name
last_name
department_name
Snowflake
employee_id
first_name
last_name
department_name
Related EWIs
Last updated
