pingcap / pingcap/tidb

Cannot execute sql. - 1064

Open
#65,963 3 comments 0 reactions 0 assignees View on GitHub
contribution first-time-contributor severity/moderate sig/sql-infra type/bug
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Bug Report
Cannot execute sql.

> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 5 column 89 near "DAY) AND t.valid_date), 1, 0
> )
> )
> )
> ) AS valid_date_alert,
> IF( ((t.tightening_count IS NULL) OR (t.warn_tightening_count IS NULL)), -2,
> IF( (t.management_status IN (4, 6, 7)), -1,
> IF( (t.tightening_count > t.warn_tightening_count), 2,
> IF( (t.tightening_count BETWEEN (t.warn_tightening_count * 0.9) AND t.warn_tightening_count

### 1. Minimal reproduce step (Required)
1.table ddl (Sample)

> CREATE TABLE `tightening_tools` (
> `management_status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL ,
> `valid_date` date NULL DEFAULT NULL ,
> `alert_days` int NULL DEFAULT NULL ,
> `tightening_count` int NULL DEFAULT NULL ,
> `warn_tightening_count` int NULL DEFAULT NULL
> )

2.execute sql

> SELECT
> IF( (t.valid_date IS NULL),-2,
> IF( (t.management_status IN (4, 6, 7)), -1,
> IF( (curdate() > t.valid_date), 2,
> IF((curdate() BETWEEN (t.valid_date + INTERVAL(-1 * ifnull(t.alert_days, 0)) DAY) AND t.valid_date), 1, 0
> )
> )
> )
> ) AS valid_date_alert,
> IF( ((t.tightening_count IS NULL) OR (t.warn_tightening_count IS NULL)), -2,
> IF( (t.management_status IN (4, 6, 7)), -1,
> IF( (t.tightening_count > t.warn_tightening_count), 2,
> IF( (t.tightening_count BETWEEN (t.warn_tightening_count * 0.9) AND t.warn_tightening_count), 1, 0
> )
> )
> )
> ) AS tightening_count_alert
> FROM
> tightening_tools t;

### 2. What did you expect to see? (Required)

output result;

### 3. What did you see instead (Required)

> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 5 column 89 near "DAY) AND t.valid_date), 1, 0
> )
> )
> )
> ) AS valid_date_alert,
> IF( ((t.tightening_count IS NULL) OR (t.warn_tightening_count IS NULL)), -2,
> IF( (t.management_status IN (4, 6, 7)), -1,
> IF( (t.tightening_count > t.warn_tightening_count), 2,
> IF( (t.tightening_count BETWEEN (t.warn_tightening_count * 0.9) AND t.warn_tightening_count

### 4. What is your TiDB version? (Required)
Release Version: v8.5.5
Edition: Community
Git Commit Hash: 1fa258b833ff113883beeba40bc130be7ce66610
Git Branch: HEAD
UTC Build Time: 2026-01-14 22:20:57
GoVersion: go1.25.5
Race Enabled: false
Check Table Before Drop: false
Store: tikv

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.