2015-05-04 68 views
0

我目前正在使用daypilot調度程序制定時間表。我當前的開始和結束數據字段被設置爲時間表的類別開始時間段和結束時間段,它們只是從1到9的整數。但是因爲daypilot調度程序以dateTime格式獲取數據,所以我必須更改類時間段數字到時間和日期,這是目前「星期一,星期三,星期日...」如何使用SQL臨時轉換/更改數據庫中的數據?

是否有無論如何改變數據暫時,以便當我查詢數據庫時,我得到的結果將是時間對於這些日子的時間和日期?

這裏是我的嘗試:

SELECT * FROM 
(
(SELECT requestID, CASE day WHEN 'Monday' THEN '1' WHEN 'Tuesday' THEN '2' WHEN 'Wednesday' THEN '3' ELSE day END AS dayA FROM request) AS a 
INNER JOIN 
(SELECT requestID, CASE day WHEN 'Monday' THEN '1' WHEN 'Tuesday' THEN '2' WHEN 'Wednesday' THEN '3' ELSE day END AS dayB FROM request) AS b 
ON a.requestID = b.requestID 
) 
WHERE a.dayA < b.dayB 

我把這個從Change SQL data temporarily,但它並沒有爲我工作了,它只是產生空數據。我哪裏去錯了,誰能建議我如何做到這一點?

+0

你可以發佈一些示例數據?你的一天的領域是否包含「星期一」或「1」? – ughai

+0

難道你不能在你的表中添加兩列,或者有一個參考表來將'id's更改爲時間和日期? –

+0

該字段包含星期一,星期二等,我想暫時將這些日子轉換爲數字。我不想在表格中添加更多列。 –

回答

0

我已經找到了如何做到這一點?這是我的通用解決方案來轉換數據暫時在一個表中的列:

SELECT ID, Name, 
CASE day WHEN 'Monday' THEN '1' 
WHEN 'Tuesday' THEN '2' 
WHEN 'Wednesday' THEN '3' 
WHEN 'Thursday' THEN '4' 
WHEN 'Friday' THEN '5' 
ELSE day END AS day FROM Table 
相關問題