16
16
# Test improper argument list
18
18
# 1 arg is required.
19
--error ER_PARSE_ERROR
20
20
# Wrong parameter count...but unfortunately produces 1064 Syntax Error due to limitations of
21
21
# the SQL parser, which considers MICROSECOND a keyword before being a function symbol
22
22
SELECT MICROSECOND();
23
--error ER_PARSE_ERROR
24
24
# Wrong parameter count...but unfortunately produces 1064 Syntax Error due to limitations of
25
25
# the SQL parser, which considers MICROSECOND a keyword before being a function symbol
26
26
SELECT MICROSECOND(1, 0);
39
39
# The following are all bad dates, with no possibility of interpreting
40
40
# the values as TIME-only components.
42
--error ER_INVALID_DATETIME_VALUE
43
43
SELECT MICROSECOND("0000-00-00"); # No 0000-00-00 dates!...
44
--error ER_INVALID_DATETIME_VALUE
45
45
SELECT MICROSECOND("0000-01-01"); # No zero year parts
46
--error ER_INVALID_DATETIME_VALUE
47
47
SELECT MICROSECOND("0001-00-01"); # No zero month parts
48
--error ER_INVALID_DATETIME_VALUE
49
49
SELECT MICROSECOND("0001-01-00"); # No zero day parts
50
--error ER_INVALID_DATETIME_VALUE
51
51
SELECT MICROSECOND("2000-02-30"); # No Feb 30th!
52
--error ER_INVALID_DATETIME_VALUE
53
53
SELECT MICROSECOND("1900-02-29"); # Not a leap MICROSECOND since not divisible evenly by 400...
54
--error ER_INVALID_DATETIME_VALUE
55
55
SELECT MICROSECOND('1976-15-15'); # No 15th month!
56
--error ER_INVALID_DATETIME_VALUE
57
57
SELECT MICROSECOND('23:59:70'); # No 70th second!
58
--error ER_INVALID_DATETIME_VALUE
59
59
SELECT MICROSECOND('23:70:59'); # No 70th minute!
60
--error ER_INVALID_DATETIME_VALUE
61
61
SELECT MICROSECOND('26:00:00'); # No 26th hour!
62
--error ER_INVALID_DATETIME_VALUE
63
63
SELECT MICROSECOND('26:00:00.9999999'); # Microseconds are 6 places, not 7
65
65
# A good date, which cannot be interpreted as a TIME component. Should return 0.