date_func.td 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. #
  10. # Argument to EXTRACT not checked for correctness, NULL returned if invalid database-issues#1701
  11. # expr: propagate errors when reducing date_{part,trunc} materialize#5700
  12. #
  13. ! SELECT EXTRACT(NULL FROM CAST('2011-11-11' AS DATE));
  14. contains:unit 'null' not recognized
  15. ! SELECT EXTRACT(NULL FROM CAST('11:11:11' AS TIME));
  16. contains:unit 'null' not recognized
  17. ! SELECT EXTRACT(NULL FROM CAST('2011-11-11' AS TIMESTAMP));
  18. contains:unit 'null' not recognized
  19. ! SELECT EXTRACT(NULL FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
  20. contains:unit 'null' not recognized
  21. # NULL is an argument here, so the function returns NULL
  22. > SELECT DATE_PART(NULL, CAST('2011-11-11' AS DATE)) IS NULL;
  23. true
  24. > SELECT DATE_PART(NULL, CAST('11:11:11' AS TIME)) IS NULL;
  25. true
  26. > SELECT DATE_PART(NULL, CAST('2011-11-11' AS TIMESTAMP)) IS NULL;
  27. true
  28. > SELECT DATE_PART(NULL, CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE)) IS NULL;
  29. true
  30. ! SELECT EXTRACT('foo' FROM CAST('2011-11-11' AS DATE));
  31. contains:unit 'foo' not recognized
  32. ! SELECT EXTRACT('foo' FROM CAST('11:11:11' AS TIME));
  33. contains:unit 'foo' not recognized
  34. ! SELECT EXTRACT('foo' FROM CAST('2011-11-11' AS TIMESTAMP));
  35. contains:unit 'foo' not recognized
  36. ! SELECT EXTRACT('foo' FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
  37. contains:unit 'foo' not recognized
  38. ! SELECT DATE_PART('foo', CAST('2011-11-11' AS DATE));
  39. contains:unit 'foo' not recognized
  40. ! SELECT DATE_PART('foo', CAST('11:11:11' AS TIME));
  41. contains:unit 'foo' not recognized
  42. ! SELECT DATE_PART('foo', CAST('2011-11-11' AS TIMESTAMP));
  43. contains:unit 'foo' not recognized
  44. ! SELECT DATE_PART('foo', CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
  45. contains:unit 'foo' not recognized
  46. ! SELECT EXTRACT('' FROM CAST('2011-11-11' AS DATE));
  47. contains:unit '' not recognized
  48. ! SELECT EXTRACT('' FROM CAST('11:11:11' AS TIME));
  49. contains:unit '' not recognized
  50. ! SELECT EXTRACT('' FROM CAST('2011-11-11' AS TIMESTAMP));
  51. contains:unit '' not recognized
  52. ! SELECT EXTRACT('' FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
  53. contains:unit '' not recognized
  54. ! SELECT DATE_PART('', CAST('2011-11-11' AS DATE));
  55. contains:unit '' not recognized
  56. ! SELECT DATE_PART('', CAST('11:11:11' AS TIME));
  57. contains:unit '' not recognized
  58. ! SELECT DATE_PART('', CAST('2011-11-11' AS TIMESTAMP));
  59. contains:unit '' not recognized
  60. ! SELECT DATE_PART('', CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
  61. contains:unit '' not recognized
  62. ! SELECT EXTRACT('second' FROM CAST('2011-11-11' AS DATE));
  63. contains:unit 'seconds' not supported for type date
  64. > SELECT EXTRACT('second' FROM CAST('2011-11-11' AS TIMESTAMP));
  65. 0
  66. > SELECT EXTRACT('second' FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
  67. 0
  68. > SELECT DATE_PART('second', CAST('2011-11-11' AS DATE));
  69. 0
  70. > SELECT DATE_PART('second', CAST('2011-11-11' AS TIMESTAMP));
  71. 0
  72. > SELECT DATE_PART('second', CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
  73. 0
  74. > SELECT EXTRACT('day' FROM CAST(NULL AS DATE)) IS NULL;
  75. true
  76. > SELECT EXTRACT('day' FROM CAST(NULL AS TIME)) IS NULL;
  77. true
  78. > SELECT EXTRACT('day' FROM CAST(NULL AS TIMESTAMP)) IS NULL;
  79. true
  80. > SELECT EXTRACT('day' FROM CAST(NULL AS TIMESTAMP WITH TIME ZONE)) IS NULL;
  81. true
  82. > SELECT DATE_PART('day', CAST(NULL AS DATE)) IS NULL;
  83. true
  84. > SELECT DATE_PART('day', CAST(NULL AS TIME)) IS NULL;
  85. true
  86. > SELECT DATE_PART('day', CAST(NULL AS TIMESTAMP)) IS NULL;
  87. true
  88. > SELECT DATE_PART('day', CAST(NULL AS TIMESTAMP WITH TIME ZONE)) IS NULL;
  89. true