By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE Something (MyCode TEXT
CHECK (length(MyCode) = 3
AND substr(MyCode,1,1) BETWEEN '0' AND '9'
AND substr(MyCode,2,1) BETWEEN 'A' AND 'Z'
AND substr(MyCode,3,1) BETWEEN 'A' AND 'Z'
)
);
✓
-- fails for not numeral in first character
INSERT INTO Something (MyCode) VALUES ('XYZ');
{ "code": "SQLITE_CONSTRAINT_CHECK" }
-- fails for length
INSERT INTO Something (MyCode) VALUES ('XYZ55');
{ "code": "SQLITE_CONSTRAINT_CHECK" }
-- works
INSERT INTO Something (MyCode) VALUES ('3ZZ');
✓
-- fails not Letter in P2
INSERT INTO Something (MyCode) VALUES ('33F');
{ "code": "SQLITE_CONSTRAINT_CHECK" }
-- fails not Letter in P3
INSERT INTO Something (MyCode) VALUES ('3K~');
{ "code": "SQLITE_CONSTRAINT_CHECK" }