我想創建一個基於現有列(date1和date2)之間datediff函數的計算列。 (以天爲單位)SQL Alter table:在2列之間創建一個列基於datediff
date1和date2是sql DATE類型。
我嘗試沒有sucess:
ALTER TABLE my_table ADD lenght AS datediff('dd', date1, date2)
謝謝你的幫助。
我想創建一個基於現有列(date1和date2)之間datediff函數的計算列。 (以天爲單位)SQL Alter table:在2列之間創建一個列基於datediff
date1和date2是sql DATE類型。
我嘗試沒有sucess:
ALTER TABLE my_table ADD lenght AS datediff('dd', date1, date2)
謝謝你的幫助。
當其他列中引用的值發生更改時,GENERATED列會自動更新。正確的語法是:
ALTER TABLE my_table ADD length INT GENERATED ALWAYS AS (DATEDIFF('day', date1, date2))
ALTER TABLE my_table ADD lenght AS int;
UPDATE my_table SET lenght = DateDiff('dd', date1, date2);
-- Don't forget to add a trigger that fires on updated and inserted rows that will keep the value of lenght valid if the date1 or date2 changes
很好但不能在HSQLDB上工作意外的令牌總是需要BY在聲明中... – Wilcar
看起來您使用的是舊版本的HSQLDB。我檢查了我的答案,並糾正了它,因爲我發現它需要圓括號,並且它現在可以在HSQLDB版本2.3x及更高版本中正常工作。 – fredt
是的,我正在使用LibreOffice – Wilcar