DAYOFMONTH returns NULL in SELECT but evaluates as FALSE in WHERE clause for certain input
Open
contribution
fuzz/sqlancer
sig/execution
type/bug
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
### 1. Minimal reproduce step (Required)
```sql
CREATE TABLE t(c VARCHAR(500));
INSERT INTO t VALUES ('a');
SELECT DAYOFMONTH(-t.c) FROM t WHERE NOT DAYOFMONTH(-t.c); -- NULL
```
### 2. What did you expect to see? (Required)
Empty or 0, MySQL output empty for this query.
### 3. What did you see instead (Required)
Null
### 4. What is your TiDB version? (Required)
```
tiup playground nightly --host 0.0.0.0 --kv 3 --tiflash 3
```
```
8.0.11-TiDB-v9.0.0-beta.2.pre-384-g5fab436
```
Contributor guide
Assessment
This issue has not been assessed yet.