char.sql 876 B

12345678910111213141516171819202122232425262728293031
  1. --
  2. -- CHAR
  3. --
  4. -- fixed-length by value
  5. -- internally passed by value if <= 4 bytes in storage
  6. SELECT char 'c' = char 'c' AS true;
  7. --
  8. -- Build a table for testing
  9. --
  10. CREATE TABLE CHAR_TBL(f1 char);
  11. INSERT INTO CHAR_TBL (f1) VALUES ('a');
  12. INSERT INTO CHAR_TBL (f1) VALUES ('A');
  13. -- any of the following three input formats are acceptable
  14. INSERT INTO CHAR_TBL (f1) VALUES ('1');
  15. INSERT INTO CHAR_TBL (f1) VALUES (2);
  16. INSERT INTO CHAR_TBL (f1) VALUES ('3');
  17. -- zero-length char
  18. INSERT INTO CHAR_TBL (f1) VALUES ('');
  19. INSERT INTO CHAR_TBL (f1) VALUES ('c ');
  20. SELECT c.*
  21. FROM CHAR_TBL c
  22. WHERE c.f1 = 'a';
  23. DROP TABLE CHAR_TBL;
  24. --
  25. -- Now test longer arrays of char
  26. --
  27. CREATE TABLE CHAR_TBL(f1 char(4));
  28. INSERT INTO CHAR_TBL (f1) VALUES ('a');
  29. INSERT INTO CHAR_TBL (f1) VALUES ('ab');
  30. INSERT INTO CHAR_TBL (f1) VALUES ('abcd');
  31. INSERT INTO CHAR_TBL (f1) VALUES ('abcd ');