簡體   English   中英

MySQL - 此查詢中的錯誤在哪里? (錯誤 1064)

[英]MySQL - Where is the Error in this Query? (Error 1064)

我正在嘗試執行下面的查詢,但 WorkBench 一直抱怨語法錯誤(錯誤 1064)。 我不知道錯誤是什么,因為即使 WorkBench 會突出顯示每個支架對,所以我不能說缺少支架。 請幫忙。

SELECT 
If(Right(Trim(`tbloldfurniture`.`NotesOnOldness`), 4) = 'susp', Substring(Trim(`tbloldfurniture`.`NotesOnOldness`), 1, Char_Length(Trim(Lower(`tbloldfurniture`.`NotesOnOldness`)) - 1)) ,Substring(Trim(Lower(`tbloldfurniture`.`NotesOnOldness`))))
FROM `tbloldfurniture`;

這是相同的查詢,它被分成不同的部分以提高可讀性。

SELECT
    
    If(

        Right(Trim(`tbloldfurniture`.`NotesOnOldness`), 4) = 'susp', 

        Substring(Trim(`tbloldfurniture`.`NotesOnOldness`), 1, Char_Length(Trim(Lower(`tbloldfurniture`.`NotesOnOldness`)) - 1)) ,

        Substring(Trim(Lower(`tbloldfurniture`.`NotesOnOldness`)))
    )

FROM `tbloldfurniture`;

MySQL 的substring() function 至少需要兩個參數,而您只在Substring(Trim(Lower(tbloldfurniture.NotesOnOldness)))中提供一個參數。

此外,您可能做錯了什么,因為您從Char_Length(Trim(Lower(tbloldfurniture.NotesOnOldness)) - 1)的字符串中減去 1。

是的,SQL 的錯誤消息是出了名的糟糕。 令人困惑。

1064 錯誤是語法錯誤。 這意味着出現問題的原因是因為 MySQL 不明白您要它做什么。 看不出你放的東西有問題。 如果您的查詢嘗試引用數據庫中的信息但找不到它,這可能是問題所在?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM