1
私は、一時テーブルに@dateに結果を挿入しようとしていますが、ここで私は結果を挿入することが達成できることがとにかくあり、私の共同SQL Serverは:
DECLARE @MinDate DATE = CONVERT(VARCHAR(15), DATEADD(month, DATEDIFF(MONTH, 0, GETDATE()), 0), 101),
@MaxDate DATE = CONVERT(VARCHAR(15), EOMONTH(GETDATE()), 101),
@dayInMonth VARCHAR(15);
DECLARE @date DATE;
DECLARE @counter INT = 0;
DECLARE my_cursor CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY FOR
SELECT TOP
(Datediff(day, @MinDate, @MaxDate) + 1) Date = Dateadd(day, Row_number() OVER(ORDER BY a.object_id) - 1, @MinDate)
FROM
sys.all_objects a
CROSS JOIN
sys.all_objects b;
OPEN my_cursor
FETCH next FROM my_cursor INTO @date
WHILE @@FETCH_STATUS = 0
BEGIN
IF(@counter = 15)
BEGIN
--PRINT @date
--PRINT @date -- here is where you get the 15th date
IF DAY(@date) BETWEEN 10 AND 20
BEGIN
SET @date = DATEADD(DAY,(15-DATEPART(DAY,@date)),@date)
PRINT CONVERT(VARCHAR(15), @date, 101)
SET @counter = 0
END
IF @counter = 0
BEGIN
SET @date = DATEADD(DAY,(30-DATEPART(DAY,@date)),@date)
PRINT CONVERT(VARCHAR(15), @date, 101)
END
END
SET @counter = @counter + 1
FETCH next FROM my_cursor INTO @date
END
CLOSE my_cursor
DEALLOCATE my_cursor
ある変数を使用して、一時テーブルにデータを挿入します一時テーブルに?もしそうなら...どう?
助けてください。ありがとう!
実際に実際に挿入したいものは何ですか?あなたはカーソル内に印刷された日付?? –
@NewazSharifそれは正しいです。 –
あなたのコードに一時テーブル( '#someTable'または' ## someTable')がありません。あなたは "テーブル変数"( '@ someTable')を意味しましたか? – stakx