簡體   English   中英

MYSQL:If/Else 語法

[英]MYSQL: If/Else syntax

處理查詢,但我需要實現一些 if else 邏輯來檢查循環,但我不斷收到 1064 錯誤語法錯誤。

我已經閱讀了手冊和一些示例,但仍然沒有運氣。 因此,我將查詢簡化為以下最基本的比較:

SET @start_date = '2019-06-01';
SET @other_date = CURDATE();

IF @start_date < @other_date THEN 
Select 'True';
ELSE
Select 'False';
END IF;

以下是我從狀態中收到的讀數:

SET @start_date = '2019-06-01' OK 時間:0.065s

SET @other_date = CURDATE()

確定時間:0.065s

IF @start_date < @other_date THEN Select '真'

1064 - 您的 SQL 語法有錯誤; 檢查與您的 MySQL 服務器版本相對應的手冊,以在第 1 行的 'IF @start_date < @other_date THEN Select 'True'' 附近使用正確的語法時間:0.067s

我知道我在 IF 子句上的語法有問題,但在文檔中它指出:

IF [條件] THEN if 語句 ELSE else 語句; 萬一;

我不確定為什么會失敗,任何見解都將不勝感激。

對於查詢,沒有IF...ELSE...語句(可以在存儲過程/函數中使用)。
相反,您可以使用 function IF()

SELECT IF(@start_date < @other_date, 'True', 'False');

CASE表達式:

SELECT CASE WHEN @start_date < @other_date THEN 'True' ELSE 'False' END;

請參閱演示

你的語法是假的

SET @start_date = '2019-06-01';
SET @other_date = CURDATE();

SELECT 
IF (@start_date < @other_date, 'True','False');

結果是真的

暫無
暫無

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

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