2016-10-31 189 views
-1

在SQL我嘗試連接到數據庫,找到今天,明天和昨天的生日和SQL代碼看起來是這樣的SQL找到今天,明天和昨天生日

SELECT 
Emp_Name, 
DATE_FORMAT(Emp_DOB,'%d-%b') AS dob 
FROM mldob.tbl_mldob WHERE 
    DATE_FORMAT(Emp_DOB,'%m-%d') IN (
     DATE_FORMAT(CURDATE() - INTERVAL 1 DAY,'%m-%d'), 
     DATE_FORMAT(CURDATE(),'%m-%d'), 
     DATE_FORMAT(CURDATE()+INTERVAL 1 DAY,'%m-%d') 
) 
    order by(emp_dob); 

但EMP_DOB列顯示空相同的MySql查詢在mysql工作臺上正常工作。所以任何人都可以請建議我在哪裏我錯了和可能的解決方案來實現相同。

在此先感謝。

+0

有任何錯誤輸出? –

+0

這裏我試圖顯示員工姓名和相應的出生日期,但我只能看到明天和昨天生日是今天但不包括生日日期的員工姓名。完整的EMP_DOB列爲空 –

+0

您是否確定直接在Workbench上得到不同的結果? –

回答

1

使用Emp_DOB不是 'DOB'

SELECT 
    Emp_Name, 
    DATE_FORMAT(Emp_DOB,'%d-%b') AS Emp_DOB 
    FROM mldob.tbl_mldob WHERE 
     DATE_FORMAT(Emp_DOB,'%m-%d') IN (
      DATE_FORMAT(CURDATE() - INTERVAL 1 DAY,'%m-%d'), 
      DATE_FORMAT(CURDATE(),'%m-%d'), 
      DATE_FORMAT(CURDATE()+INTERVAL 1 DAY,'%m-%d') 
    ) 
     order by(emp_dob); 
+0

在mysql工作臺我得到期望的結果EMP_NAME和EMP_DOB列顯示完全正常顯示其生日是今天,明天和昨天的員工姓名和生日日期,但在jsp邏輯工作正常,但EMP_DOB列是空的意思是說員工姓名顯示其今天,明天和昨天的生日,但對於相應的員工姓名,EMP_DOB列爲空。 –

+0

您好,以上解決方案工作正常。 –

+0

「$ {row.Emp_DOB}」這一行將讀取名爲Emp_DOB的列,但那裏沒有以該名稱返回的列,因此您將獲得空值。請將dob更改爲'Emp_DOB'。 – Assen

相關問題