簡體   English   中英

從具有相同列的不同列的存儲過程中獲取 DateDiff

[英]Getting DateDiff from stored procedure with different columns of same columns

首先你好,我管理一家書店,我想顯示我的書與出版日期和出版刪除日期。 我想顯示這兩天之間的日子。 例如這是我的存儲過程:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE  [dbo].[spLibrary]
AS
BEGIN 
    DECLARE @Tax int, @forwardDate DATETIME

    SET @Tax = 100
    SET @forwardDate = 7

    SELECT 
        b.BookName BookName,
        b.BookAuthor BookAuthor,
        b.BookPrice PriceWithoutTax,
        b.BookPrice + @Tax PriceWithTax,
        b.BookDate PublisDate,
        b.BookDate +  @forwardDate PublishRemoveDate
    FROM
        Book b
END

我想看看 PublishDate 和 PublisRemoveDate 之間的區別。 我嘗試但它說多標識符錯誤。 你能幫我么。 從現在開始非常感謝!

您可以在 SP 中向 select 添加新字段

GO
alter PROCEDURE  [dbo].[spLibrary]
AS
BEGIN 
declare @Tax int, @forwardDate DATETIME
set @Tax = 100
set @forwardDate = 7

SELECT 
b.BookName BookName,
b.BookAuthor BookAuthor,
b.BookPrice PriceWithoutTax,
b.BookPrice + @Tax  PriceWithTax,
b.BookDate PublisDate,
b.BookDate +  @forwardDate PublishRemoveDate,
datediff(day, BookDate, b.BookDate +  @forwardDate)  as DiffDays 

from 
Book b
END

在此處輸入圖像描述

我懷疑您想將@forwardDate天數添加到BookDate 如果是這樣,您應該將變量聲明為int ,然后使用dateadd()

dateadd(day, @forwarDate, BookDate) as PublishRemoveDate

另一方面,如果您想要日期bookDatePublishRemoveDate之間的日期差異,請使用datediff()

datediff(day, BookDate, PublishRemoveDate) as diff

暫無
暫無

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

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