How to create an SQL CHECK constraint for two letters
SQL expert Rudy Limeback explains how to create a SQL CHECK constraint for two letters when trying to write a query to retrieve data from two tables.
Here's how I would do it:
CREATE TABLE twoletters ( code CHAR(2) NOT NULL , CONSTRAINT twoletters CHECK ( CHARACTER_LENGTH(code) = 2 AND SUBSTRING(code FROM 1 FOR 1) BETWEEN 'A' AND 'Z' AND SUBSTRING(code FROM 2 FOR 1) BETWEEN 'A' AND 'Z' ) );
Notice that I chose CHAR(2). This would allow the CHARACTER_LENGTH condition to be omitted, but I left it in if you cannot change your column from VARCHAR.
You may need to change the standard SQL functions (CHARACTER_LENGTH and SUBSTRING) to match your specific database system. For instance, in SQL Server you would use
Dig Deeper on Oracle development languages
Related Q&A from Rudy Limeback
Using the SQL GROUP BY clause for counting combinations
Read SQL expert Rudy Limeback's advice for counting combinations in a table with SQL's GROUP BY clause Continue Reading
How to sort an SQL UNION query with special ORDER BY sequence
SQL expert Rudy Limeback explains how to sort an SQL UNION query using a special ORDERY BY sequence. Continue Reading
Using an SQL SELECT statement from a non-existing table
SQL expert Rudy Limeback explains how to formulate a query using an SQL SELECT statement from a non-existing table. Continue Reading