1-- 2-- CHAR 3-- 4 5-- fixed-length by value 6-- internally passed by value if <= 4 bytes in storage 7 8SELECT char 'c' = char 'c' AS true; 9 10-- 11-- Build a table for testing 12-- 13 14CREATE TABLE CHAR_TBL(f1 char); 15 16INSERT INTO CHAR_TBL (f1) VALUES ('a'); 17 18INSERT INTO CHAR_TBL (f1) VALUES ('A'); 19 20-- any of the following three input formats are acceptable 21INSERT INTO CHAR_TBL (f1) VALUES ('1'); 22 23INSERT INTO CHAR_TBL (f1) VALUES (2); 24 25INSERT INTO CHAR_TBL (f1) VALUES ('3'); 26 27-- zero-length char 28INSERT INTO CHAR_TBL (f1) VALUES (''); 29 30-- try char's of greater than 1 length 31INSERT INTO CHAR_TBL (f1) VALUES ('cd'); 32INSERT INTO CHAR_TBL (f1) VALUES ('c '); 33 34 35SELECT * FROM CHAR_TBL; 36 37SELECT c.* 38 FROM CHAR_TBL c 39 WHERE c.f1 <> 'a'; 40 41SELECT c.* 42 FROM CHAR_TBL c 43 WHERE c.f1 = 'a'; 44 45SELECT c.* 46 FROM CHAR_TBL c 47 WHERE c.f1 < 'a'; 48 49SELECT c.* 50 FROM CHAR_TBL c 51 WHERE c.f1 <= 'a'; 52 53SELECT c.* 54 FROM CHAR_TBL c 55 WHERE c.f1 > 'a'; 56 57SELECT c.* 58 FROM CHAR_TBL c 59 WHERE c.f1 >= 'a'; 60 61DROP TABLE CHAR_TBL; 62 63-- 64-- Now test longer arrays of char 65-- 66 67CREATE TABLE CHAR_TBL(f1 char(4)); 68 69INSERT INTO CHAR_TBL (f1) VALUES ('a'); 70INSERT INTO CHAR_TBL (f1) VALUES ('ab'); 71INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); 72INSERT INTO CHAR_TBL (f1) VALUES ('abcde'); 73INSERT INTO CHAR_TBL (f1) VALUES ('abcd '); 74 75SELECT * FROM CHAR_TBL; 76