forked from MaterializeInc/materialize
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdate_func.td
More file actions
132 lines (89 loc) · 3.72 KB
/
Copy pathdate_func.td
File metadata and controls
132 lines (89 loc) · 3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Use of this software is governed by the Business Source License
# included in the LICENSE file at the root of this repository.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0.
#
# Argument to EXTRACT not checked for correctness, NULL returned if invalid #5521
# expr: propagate errors when reducing date_{part,trunc} #5700
#
! SELECT EXTRACT(NULL FROM CAST('2011-11-11' AS DATE));
contains:unit 'null' not recognized
! SELECT EXTRACT(NULL FROM CAST('11:11:11' AS TIME));
contains:unit 'null' not recognized
! SELECT EXTRACT(NULL FROM CAST('2011-11-11' AS TIMESTAMP));
contains:unit 'null' not recognized
! SELECT EXTRACT(NULL FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
contains:unit 'null' not recognized
# NULL is an argument here, so the function returns NULL
> SELECT DATE_PART(NULL, CAST('2011-11-11' AS DATE)) IS NULL;
true
> SELECT DATE_PART(NULL, CAST('11:11:11' AS TIME)) IS NULL;
true
> SELECT DATE_PART(NULL, CAST('2011-11-11' AS TIMESTAMP)) IS NULL;
true
> SELECT DATE_PART(NULL, CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE)) IS NULL;
true
! SELECT EXTRACT('foo' FROM CAST('2011-11-11' AS DATE));
contains:unit 'foo' not recognized
! SELECT EXTRACT('foo' FROM CAST('11:11:11' AS TIME));
contains:unit 'foo' not recognized
! SELECT EXTRACT('foo' FROM CAST('2011-11-11' AS TIMESTAMP));
contains:unit 'foo' not recognized
! SELECT EXTRACT('foo' FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
contains:unit 'foo' not recognized
! SELECT DATE_PART('foo', CAST('2011-11-11' AS DATE));
contains:unit 'foo' not recognized
! SELECT DATE_PART('foo', CAST('11:11:11' AS TIME));
contains:unit 'foo' not recognized
! SELECT DATE_PART('foo', CAST('2011-11-11' AS TIMESTAMP));
contains:unit 'foo' not recognized
! SELECT DATE_PART('foo', CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
contains:unit 'foo' not recognized
! SELECT EXTRACT('' FROM CAST('2011-11-11' AS DATE));
contains:unit '' not recognized
! SELECT EXTRACT('' FROM CAST('11:11:11' AS TIME));
contains:unit '' not recognized
! SELECT EXTRACT('' FROM CAST('2011-11-11' AS TIMESTAMP));
contains:unit '' not recognized
! SELECT EXTRACT('' FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
contains:unit '' not recognized
! SELECT DATE_PART('', CAST('2011-11-11' AS DATE));
contains:unit '' not recognized
! SELECT DATE_PART('', CAST('11:11:11' AS TIME));
contains:unit '' not recognized
! SELECT DATE_PART('', CAST('2011-11-11' AS TIMESTAMP));
contains:unit '' not recognized
! SELECT DATE_PART('', CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
contains:unit '' not recognized
! SELECT EXTRACT('second' FROM CAST('2011-11-11' AS DATE));
contains:unit 'seconds' not supported for type date
> SELECT EXTRACT('second' FROM CAST('2011-11-11' AS TIMESTAMP));
0
> SELECT EXTRACT('second' FROM CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
0
> SELECT DATE_PART('second', CAST('2011-11-11' AS DATE));
0
> SELECT DATE_PART('second', CAST('2011-11-11' AS TIMESTAMP));
0
> SELECT DATE_PART('second', CAST('2011-11-11' AS TIMESTAMP WITH TIME ZONE));
0
> SELECT EXTRACT('day' FROM CAST(NULL AS DATE)) IS NULL;
true
> SELECT EXTRACT('day' FROM CAST(NULL AS TIME)) IS NULL;
true
> SELECT EXTRACT('day' FROM CAST(NULL AS TIMESTAMP)) IS NULL;
true
> SELECT EXTRACT('day' FROM CAST(NULL AS TIMESTAMP WITH TIME ZONE)) IS NULL;
true
> SELECT DATE_PART('day', CAST(NULL AS DATE)) IS NULL;
true
> SELECT DATE_PART('day', CAST(NULL AS TIME)) IS NULL;
true
> SELECT DATE_PART('day', CAST(NULL AS TIMESTAMP)) IS NULL;
true
> SELECT DATE_PART('day', CAST(NULL AS TIMESTAMP WITH TIME ZONE)) IS NULL;
true