timetz.out 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. --
  2. -- TIMETZ
  3. --
  4. CREATE TABLE TIMETZ_TBL (f1 time(2) with time zone);
  5. -- this should fail (timezone not specified without a date)
  6. INSERT INTO TIMETZ_TBL VALUES ('15:36:39 m2');
  7. ERROR: invalid input syntax for type time with time zone: "15:36:39 m2"
  8. LINE 1: INSERT INTO TIMETZ_TBL VALUES ('15:36:39 m2');
  9. ^
  10. -- this should fail (dynamic timezone abbreviation without a date)
  11. INSERT INTO TIMETZ_TBL VALUES ('15:36:39 MSK m2');
  12. ERROR: invalid input syntax for type time with time zone: "15:36:39 MSK m2"
  13. LINE 1: INSERT INTO TIMETZ_TBL VALUES ('15:36:39 MSK m2');
  14. ^
  15. SELECT f1 AS "None" FROM TIMETZ_TBL WHERE f1 < '00:00-07';
  16. None
  17. ------
  18. (0 rows)
  19. --
  20. -- test EXTRACT
  21. --
  22. SELECT EXTRACT(MICROSECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  23. extract
  24. ----------
  25. 25575401
  26. (1 row)
  27. SELECT EXTRACT(MILLISECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  28. extract
  29. -----------
  30. 25575.401
  31. (1 row)
  32. SELECT EXTRACT(SECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  33. extract
  34. -----------
  35. 25.575401
  36. (1 row)
  37. SELECT EXTRACT(MINUTE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  38. extract
  39. ---------
  40. 30
  41. (1 row)
  42. SELECT EXTRACT(HOUR FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  43. extract
  44. ---------
  45. 13
  46. (1 row)
  47. SELECT EXTRACT(DAY FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
  48. ERROR: "time with time zone" units "day" not recognized
  49. SELECT EXTRACT(FORTNIGHT FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
  50. ERROR: "time with time zone" units "fortnight" not recognized
  51. SELECT EXTRACT(TIMEZONE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30');
  52. extract
  53. ---------
  54. -16200
  55. (1 row)
  56. SELECT EXTRACT(TIMEZONE_HOUR FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30');
  57. extract
  58. ---------
  59. -4
  60. (1 row)
  61. SELECT EXTRACT(TIMEZONE_MINUTE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30');
  62. extract
  63. ---------
  64. -30
  65. (1 row)
  66. SELECT EXTRACT(EPOCH FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  67. extract
  68. --------------
  69. 63025.575401
  70. (1 row)
  71. -- date_part implementation is mostly the same as extract, so only
  72. -- test a few cases for additional coverage.
  73. SELECT date_part('microsecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  74. date_part
  75. -----------
  76. 25575401
  77. (1 row)
  78. SELECT date_part('millisecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  79. date_part
  80. -----------
  81. 25575.401
  82. (1 row)
  83. SELECT date_part('second', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  84. date_part
  85. -----------
  86. 25.575401
  87. (1 row)
  88. SELECT date_part('epoch', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
  89. date_part
  90. --------------
  91. 63025.575401
  92. (1 row)