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
This was first published in October 2008