char.out 924 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. true
  8. ------
  9. t
  10. (1 row)
  11. --
  12. -- Build a table for testing
  13. --
  14. CREATE TABLE CHAR_TBL(f1 char);
  15. INSERT INTO CHAR_TBL (f1) VALUES ('a');
  16. INSERT INTO CHAR_TBL (f1) VALUES ('A');
  17. -- any of the following three input formats are acceptable
  18. INSERT INTO CHAR_TBL (f1) VALUES ('1');
  19. INSERT INTO CHAR_TBL (f1) VALUES (2);
  20. INSERT INTO CHAR_TBL (f1) VALUES ('3');
  21. -- zero-length char
  22. INSERT INTO CHAR_TBL (f1) VALUES ('');
  23. INSERT INTO CHAR_TBL (f1) VALUES ('c ');
  24. SELECT c.*
  25. FROM CHAR_TBL c
  26. WHERE c.f1 = 'a';
  27. f1
  28. ----
  29. a
  30. (1 row)
  31. DROP TABLE CHAR_TBL;
  32. --
  33. -- Now test longer arrays of char
  34. --
  35. CREATE TABLE CHAR_TBL(f1 char(4));
  36. INSERT INTO CHAR_TBL (f1) VALUES ('a');
  37. INSERT INTO CHAR_TBL (f1) VALUES ('ab');
  38. INSERT INTO CHAR_TBL (f1) VALUES ('abcd');
  39. INSERT INTO CHAR_TBL (f1) VALUES ('abcd ');