簡體   English   中英

MS SQL Operand類型沖突:日期與bigint不兼容

[英]MS SQL Operand type clash: date is incompatible with bigint

我正在嘗試使用我讀過的Tabibitosan方法解決有關HackerRank的問題。 如果您想閱讀該問題,請訪問以下鏈接: https : //www.hackerrank.com/challenges/projects/problem

這是我的錯誤:第1行操作數類型沖突:日期與bigint不兼容

這是我的代碼:

SELECT MIN(start_date), MAX(end_date)
FROM (
    SELECT
        start_date, end_date,
        dense_rank() OVER (ORDER BY start_date) AS rn,
        start_date - dense_rank() OVER (ORDER BY start_date) AS grouping
    FROM projects
) AS r
GROUP BY grouping
ORDER BY COUNT(*) ASC, MIN(start_date) ASC;

我的代碼可能還有其他問題,但是您不需要修復這些問題,因為我仍在學習和解決問題,但是我無法解決此錯誤,搜索也無濟於事。

表:

Task_ID, Int
Start_date, date
End_date, date

日期格式:2015-10-31

我不確定代碼為什么不起作用,因為目標基本上與我發現Tabibitosan方法的日期部分相同: https ://community.oracle.com/docs/DOC-915680

問題是start_date - dense_rank() OVER (ORDER BY start_date) 錯誤在這里告訴您問題所在; 但是您不能從date減去bigint值。 您需要使用DATEADD 因此,將上面的表達式替換為:

DATEADD(DAY,-(dense_rank() OVER (ORDER BY start_date)),start_date)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM