2017-05-04 66 views
3

Schedult table 我有一個表'schedule'和'travel_date'列。 travel_date在那裏有'預定義日期'。從列中提取SQL DATE

我想用'5天'更改該列。

UPDATE Schedule SET travel_date=''+5days ; 

我用 更新時間表SET travel_date =(travel_date + 5); 它如何工作?

+0

'register_date'是一個字符串還是一個實際的'datetime'相關列? –

+0

datetime列 –

+0

提示:'register_date + interval 5 day'。 –

回答

2

在MySQL中,你可以做到這一點

UPDATE customer 
SET  register_date = DATE_ADD(register_date, INTERVAL 5 DAY) 
+0

downvoter會小心解釋原因嗎? –

+0

我用 - UPDATE客戶設置register_date =(register_date + 5); 它的工作。請告訴我它是如何工作的? –

+0

我假設在一個日期中添加一個數字時,MySQL會給這個數字賦予天數的含義。很高興知道它是否有效,但我認爲你得到的答案使你的查詢更容易理解,並且它們也適用於其他變體(增加分鐘,月等等) –

0

如果它是一個datetime列,使用DATE_ADD()功能:

UPDATE customer SET register_date = DATE_ADD(register_date, INTERVAL 5 DAY)

1

你爲什麼要到5天增加至每客戶註冊日期???

您確定這是您想要做的嗎?

UPDATE customer SET [register_date] = DATE_ADD([register_date], INTERVAL 5 DAY) 
+0

收到此錯誤 SET TRAVEL_DATE = DATE_ADD(TRAVEL_DATE,間隔5天),在第2行 ERROR: ORA-00907:缺少右括號 –

+0

@ShyamSundar編輯您的帖子包含您運行整個查詢...代碼段你發佈不會產生該錯誤... – Milney

0

使用DATE_ADD()

可以使用DATE_ADD()函數來處理將一個給定的間隔(例如天,分鐘,小時等)到現有的日期列:

UPDATE customer 
    SET register_date = DATE_ADD(register_date, INTERVAL 5 DAY) 

使用算術計算器

或者,您也可以簡單地使用日期運算,這與您之前的示例類似:

UPDATE customer 
    SET register_date = register_date + INTERVAL 5 DAY