Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Create Date Batches from Date Range - SQL Server
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
DECLARE @DateStart DATE = '01-JAN-18'; DECLARE @DateEnd DATE = '01-FEB-18'; DECLARE @BatchSize INT = 5; PRINT CONVERT(VARCHAR, GetDate(), 120) + ' - Started Date Range: ' + CONVERT(VARCHAR(20), @DateStart, 120) + ' -> ' + CONVERT(VARCHAR(20), @DateEnd, 120); DECLARE @DateActiveStart DATE = @DateStart; DECLARE @FutureDate DATE = DateAdd(DAY, @BatchSize, @DateActiveStart); DECLARE @DateActiveEnd DATE = CASE WHEN @FutureDate < @DateEnd THEN @FutureDate ELSE @DateEnd END; WHILE @DateActiveStart <= @DateEnd BEGIN PRINT CONVERT(VARCHAR, GetDate(), 120) + ' - Executing Batch: ' + CONVERT(VARCHAR(20), @DateActiveStart, 120) + ' -> ' + CONVERT(VARCHAR(20), @DateActiveEnd, 120); ---------------------------------------------------------------------------- -- Process ---------------------------------------------------------------------------- SELECT CONVERT(VARCHAR, GetDate(), 120) + ' - Executing Batch: ' + CONVERT(VARCHAR(20), @DateActiveStart, 120) + ' -> ' + CONVERT(VARCHAR(20), @DateActiveEnd, 120); /* EXECUTE [DB].[Schema].[stored_procedure] @DateVariable1 = @DateActiveStart, @DateVariable2 = @DateActiveEnd, ; */ ---------------------------------------------------------------------------- -- Increment ---------------------------------------------------------------------------- SET @DateActiveStart = DateAdd(Day, 1, @DateActiveEnd); SET @FutureDate = DateAdd(DAY, @BatchSize, @DateActiveStart); SET @DateActiveEnd = CASE WHEN @FutureDate < @DateEnd THEN @FutureDate ELSE @DateEnd END; END; PRINT CONVERT(VARCHAR, GetDate(), 120) + ' - Completed Date Range: ' + CONVERT(VARCHAR(20), @DateStart, 120) + ' -> ' + CONVERT(VARCHAR(20), @DateEnd, 120);
View schema
Execution time: 0 sec, rows selected: 30, rows affected: 0, absolute service time: 0,16 sec
latest
|
history
(No column name)
1
2018-06-09 16:10:01 - Executing Batch: 2018-01-01 -> 2018-01-06
(No column name)
1
2018-06-09 16:10:01 - Executing Batch: 2018-01-07 -> 2018-01-12
(No column name)
1
2018-06-09 16:10:01 - Executing Batch: 2018-01-13 -> 2018-01-18
(No column name)
1
2018-06-09 16:10:01 - Executing Batch: 2018-01-19 -> 2018-01-24
(No column name)
1
2018-06-09 16:10:01 - Executing Batch: 2018-01-25 -> 2018-01-30
(No column name)
1
2018-06-09 16:10:01 - Executing Batch: 2018-01-31 -> 2018-02-01