varchar_2.out 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. --
  2. -- VARCHAR
  3. --
  4. CREATE TABLE VARCHAR_TBL(f1 varchar(1));
  5. INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
  6. INSERT INTO VARCHAR_TBL (f1) VALUES ('A');
  7. -- any of the following three input formats are acceptable
  8. INSERT INTO VARCHAR_TBL (f1) VALUES ('1');
  9. INSERT INTO VARCHAR_TBL (f1) VALUES (2);
  10. INSERT INTO VARCHAR_TBL (f1) VALUES ('3');
  11. -- zero-length char
  12. INSERT INTO VARCHAR_TBL (f1) VALUES ('');
  13. -- try varchar's of greater than 1 length
  14. INSERT INTO VARCHAR_TBL (f1) VALUES ('cd');
  15. ERROR: value too long for type character varying(1)
  16. INSERT INTO VARCHAR_TBL (f1) VALUES ('c ');
  17. SELECT * FROM VARCHAR_TBL;
  18. f1
  19. ----
  20. a
  21. A
  22. 1
  23. 2
  24. 3
  25. c
  26. (7 rows)
  27. SELECT c.*
  28. FROM VARCHAR_TBL c
  29. WHERE c.f1 <> 'a';
  30. f1
  31. ----
  32. A
  33. 1
  34. 2
  35. 3
  36. c
  37. (6 rows)
  38. SELECT c.*
  39. FROM VARCHAR_TBL c
  40. WHERE c.f1 = 'a';
  41. f1
  42. ----
  43. a
  44. (1 row)
  45. SELECT c.*
  46. FROM VARCHAR_TBL c
  47. WHERE c.f1 < 'a';
  48. f1
  49. ----
  50. (1 row)
  51. SELECT c.*
  52. FROM VARCHAR_TBL c
  53. WHERE c.f1 <= 'a';
  54. f1
  55. ----
  56. a
  57. (2 rows)
  58. SELECT c.*
  59. FROM VARCHAR_TBL c
  60. WHERE c.f1 > 'a';
  61. f1
  62. ----
  63. A
  64. 1
  65. 2
  66. 3
  67. c
  68. (5 rows)
  69. SELECT c.*
  70. FROM VARCHAR_TBL c
  71. WHERE c.f1 >= 'a';
  72. f1
  73. ----
  74. a
  75. A
  76. 1
  77. 2
  78. 3
  79. c
  80. (6 rows)
  81. DROP TABLE VARCHAR_TBL;
  82. --
  83. -- Now test longer arrays of char
  84. --
  85. CREATE TABLE VARCHAR_TBL(f1 varchar(4));
  86. INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
  87. INSERT INTO VARCHAR_TBL (f1) VALUES ('ab');
  88. INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd');
  89. INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde');
  90. ERROR: value too long for type character varying(4)
  91. INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd ');
  92. SELECT * FROM VARCHAR_TBL;
  93. f1
  94. ------
  95. a
  96. ab
  97. abcd
  98. abcd
  99. (4 rows)