我已經提取了兩列checkin_date
和booking_time
,如下所示。我怎樣才能得到這樣創建的兩列的差異?選擇查詢中提取的兩列的差異
SELECT CAST(CONCAT(MID(Checkin,7,4) , '-'
, MID(Checkin,1,2) , '-'
, MID(Checkin,4,2))
AS DATETIME) as Checkin_Date,
CAST(CONCAT(MID(Book_Time,7,4) , '-'
, MID(Book_Time,1,2) , '-'
, MID(Book_Time,4,2))
AS DATETIME) as Booking_Date
FROM rl_transactional.mydb
我試過FROM rl_transactional.mydb
之前做Checkin_Date - Booking_Date
但我得到的錯誤
錯誤代碼:1064您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊「CHECKIN_DATE - Booking_Date FROM rl_transactional.mydb」 16行
編輯:根據建議,我用下面的查詢
SELECT CAST(CONCAT(MID(Checkin,7,4) , '-'
, MID(Checkin,1,2) , '-'
, MID(Checkin,4,2))
AS DATETIME) as Checkin_Date,
CAST(CONCAT(MID(CheckOut,7,4) , '-'
, MID(CheckOut,1,2) , '-'
, MID(CheckOut,4,2))
AS DATETIME) as CheckOut_Date,
CAST(CONCAT(MID(Book_Time,7,4) , '-'
, MID(Book_Time,1,2) , '-'
, MID(Book_Time,4,2))
AS DATETIME) as Booking_Date,
Checkin_Date - Booking_Date
from (
SELECT CAST(CONCAT(MID(Checkin,7,4) , '-'
, MID(Checkin,1,2) , '-'
, MID(Checkin,4,2))
AS DATETIME) as Checkin_Date,
CAST(CONCAT(MID(Book_Time,7,4) , '-'
, MID(Book_Time,1,2) , '-'
, MID(Book_Time,4,2))
AS DATETIME) as Booking_Date
FROM rl_transactional.mydb
) c,
FROM rl_transactional.mydb
我得到以下錯誤
錯誤代碼:1064您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的權利 語法使用附近的 手冊 'CHECKIN_DATE - Booking_Date從(選擇 CAST(CONCAT(MID(簽入,7,4),' - ' 出現在1號線
你把'Checkin_Date'前的逗號?但是,您應該針對Checkin和Book_Time運行DATEDIFF。可能你也需要把它們當作日期。 – LSerni
@JaydipJ編輯一個雜亂的問題通常是一件很好的事情,但在這種情況下,可能有一個印刷錯誤,你可能會無意中糾正:-) –
@TimBiegeleisen謝謝,我會照顧這個筆記:) –