~drizzle-trunk/drizzle/development

813.1.10 by Jay Pipes
Fixes DAYOFMONTH() function to use new Temporal system. Now throws
1
SELECT DAYOFMONTH(NULL);
2
DAYOFMONTH(NULL)
3
NULL
4
SELECT DAYOFMONTH();
5
ERROR 42000: Incorrect parameter count in the call to native function 'DAYOFMONTH'
6
SELECT DAYOFMONTH(1, 0);
7
ERROR 42000: Incorrect parameter count in the call to native function 'DAYOFMONTH'
8
SELECT DAYOFMONTH("xxx");
9
ERROR HY000: Received an invalid datetime value 'xxx'.
10
SELECT DAYOFMONTH("0000-00-00");
11
ERROR HY000: Received an invalid datetime value '0000-00-00'.
12
SELECT DAYOFMONTH("0000-01-01");
13
ERROR HY000: Received an invalid datetime value '0000-01-01'.
14
SELECT DAYOFMONTH("0001-00-01");
15
ERROR HY000: Received an invalid datetime value '0001-00-01'.
16
SELECT DAYOFMONTH("0001-01-00");
17
ERROR HY000: Received an invalid datetime value '0001-01-00'.
18
SELECT DAYOFMONTH("2000-02-30");
19
ERROR HY000: Received an invalid datetime value '2000-02-30'.
20
SELECT DAYOFMONTH("1900-02-29");
21
ERROR HY000: Received an invalid datetime value '1900-02-29'.
22
SELECT DAYOFMONTH('1976-15-15');
23
ERROR HY000: Received an invalid datetime value '1976-15-15'.
24
SELECT DAYOFMONTH("2009-01-12");
25
DAYOFMONTH("2009-01-12")
26
12
27
SELECT DAYOFMONTH("70-12-31");
28
DAYOFMONTH("70-12-31")
29
31
30
SELECT DAYOFMONTH("00-02-29");
31
DAYOFMONTH("00-02-29")
32
29
33
SELECT DAYOFMONTH("0001-12-31");
34
DAYOFMONTH("0001-12-31")
35
31
36
SELECT DAYOFMONTH('07/31/2009');
37
DAYOFMONTH('07/31/2009')
38
31
39
SELECT DAYOFMONTH('20090916');
40
DAYOFMONTH('20090916')
41
16
42
SELECT DAYOFMONTH('20090916091528');
43
DAYOFMONTH('20090916091528')
44
16
45
SELECT DAYOFMONTH("20090916091528.000000");
46
DAYOFMONTH("20090916091528.000000")
47
16
48
SELECT DAYOFMONTH('09-09-16');
49
DAYOFMONTH('09-09-16')
50
16
51
SELECT DAYOFMONTH('09.09.16');
52
DAYOFMONTH('09.09.16')
53
16
54
SELECT DAYOFMONTH('09/09/16');
55
DAYOFMONTH('09/09/16')
56
16
57
SELECT DAYOFMONTH('09-09-16');
58
DAYOFMONTH('09-09-16')
59
16
60
SELECT DAYOFMONTH('09-9-2');
61
DAYOFMONTH('09-9-2')
62
2
63
SELECT DAYOFMONTH(20090916);
64
DAYOFMONTH(20090916)
65
16
66
SELECT DAYOFMONTH(20090916091528);
67
DAYOFMONTH(20090916091528)
68
16
813.1.19 by Jay Pipes
To remain in compatibility with MySQL, added ability to interpret
69
SELECT DAYOFMONTH(20090916091528.000001);
70
DAYOFMONTH(20090916091528.000001)
71
16
813.1.10 by Jay Pipes
Fixes DAYOFMONTH() function to use new Temporal system. Now throws
72
USE test;
73
DROP TABLE IF EXISTS t1;
74
CREATE TABLE t1 (
75
int_fld INT NOT NULL
76
, date_fld DATE NOT NULL
77
, datetime_fld DATETIME NOT NULL
78
, timestamp_fld TIMESTAMP NOT NULL
79
, char_fld CHAR(22) NOT NULL
80
, varchar_fld VARCHAR(22) NOT NULL
81
, text_fld TEXT NOT NULL
82
, blob_fld BLOB NOT NULL
83
);
84
INSERT INTO t1 VALUES (
85
20071130
86
, "2007-11-30"
87
, "2007-11-30 16:30:19"
88
, "2007-11-30T16:30:19"
89
, "2007-11-30 16:30:19"
90
, "2007-11-30 16:30:19"
91
, "2007-11-30T16:30:19"
92
, "2007-11-30T16:30:19"
93
);
94
SELECT DAYOFMONTH(int_fld) FROM t1;
95
DAYOFMONTH(int_fld)
96
30
97
SELECT DAYOFMONTH(date_fld) FROM t1;
98
DAYOFMONTH(date_fld)
99
30
100
SELECT DAYOFMONTH(datetime_fld) FROM t1;
101
DAYOFMONTH(datetime_fld)
102
30
103
SELECT DAYOFMONTH(timestamp_fld) FROM t1;
104
DAYOFMONTH(timestamp_fld)
105
30
106
SELECT DAYOFMONTH(char_fld) FROM t1;
107
DAYOFMONTH(char_fld)
108
30
109
SELECT DAYOFMONTH(varchar_fld) FROM t1;
110
DAYOFMONTH(varchar_fld)
111
30
112
SELECT DAYOFMONTH(text_fld) FROM t1;
113
DAYOFMONTH(text_fld)
114
30
115
SELECT DAYOFMONTH(blob_fld) FROM t1;
116
DAYOFMONTH(blob_fld)
117
30
118
DROP TABLE t1;