銷售,日期一,日期二
我在一個臨時表中有以上三個欄位,我需要從中創建等于(日期一 - 日期二)的計算列,精確的十進制年份或天數我正在運行下面的代碼來查找第一個計算列;但是我收到了底部提到的錯誤
ALTER TABLE #temptable
ADD [TimeDif_Day] AS (SELECT *, DATEDIFF (DAY, Date_one, Date_two))
在這種情況下不允許子查詢。只允許標量運算式。
uj5u.com熱心網友回復:
我想你需要從你所擁有的東西中去掉虛假的東西:
ALTER TABLE #temptable ADD [TimeDif_Day] AS DATEDIFF (DAY, Date_one, Date_two)
uj5u.com熱心網友回復:
該標準有
CREATE LOCAL TEMPORARY TABLE ... ( Sales ... , Date1 ... , Date2 ... , TimeDif_Day GENERATED ALWAYS AS <computation expression> )
<computation expression> 不得參考除其他三列之外的任何內容。
如果您的 DBMS 不支持標準的這一特定功能,那么請尋找一種方法讓表保持原樣,并在您使用它的地方使用 SELECT。否則,也許可以在您的 DBMS 中創建第二個“臨時”表作為第一個表的視圖(“臨時視圖”,如果存在這種情況),但這似乎沒有得到標準的認可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/476564.html
標籤:sql
