0

今日の日付とテーブル内の特定の日付の日付の違いを見つけようとしています.一部の行には1つの日付があり、他の行には2つの日付があります(以前の日付を取ります)。動的変数と一時テーブルを試しましたが、まだ機能しません

入力テーブルはこちら

else
begin
SELECT * INTO #result2
 FROM 
 ( 

  declare @t date
  set @t = '
  select SUBSTRING(Availability, PATINDEX('% [0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]%', [Availability]), 11) as [Date Part] from [ScrappedData_Regina] '

-- extracts date part from a column

  select  distinct [Product Name],[SKU],DATEDIFF(day,cast(@t as date),cast(GETDATE() as date)) as [Delivery Date]  from ScrappedData_Regina
)  -- i want to pass the date part in this select statement

最初のクエリは次のように結果を返します 最初のクエリの結果

そして、2つの日付の場合でも、2番目のクエリでも同じ結果が必要です。

2 番目のクエリの結果

最後に、両方の結果をテーブルに結合します

4

1 に答える 1

0

1つのクエリでそれを実行できるはずだと思います(あなたが何をしようとしているのかを理解していれば)。最初のクエリを削除し、2 番目のクエリを次のように置き換えます。

SELECT DISTINCT [Product Name],
                [SKU],
                DATEDIFF(DAY, CAST(
                    SUBSTRING(Availability,
                        PATINDEX('% [0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]%', [Availability]), 11) AS DATE),
                        CAST(GETDATE() AS DATE)
                    ) AS [Delivery Date]
FROM ScrappedData_Regina
于 2016-03-03T07:20:01.297 に答える