J'ai besoin d'obtenir toutes les dates du 01-01-2016 à la date d'aujourd'hui.

Exemple:

01-01-2016
02-01-2016
03-01-2016
.
.
.
01-02-2016
.
.
.
17-11-2017

Toute aide serait appréciée.

1
kalyan 17 nov. 2017 à 12:31

4 réponses

Meilleure réponse

Vous pouvez utiliser une expression de table commune pour y parvenir et c'est l'un des moyens les plus rapides de le faire

;WITH cte 
 as
(
  SELECT CONVERT(DATE,'01-01-2016') as DateCol
  UNION ALL
  SELECT CONVERT(DATE,DATEADD(DAY,1,DateCol))  FROM CTE
  WHERE DATEADD(DAY,1,DateCol) <= '11-17-2017'
 )

SELECT * FROM CTE 
OPTION (maxrecursion 0)
2
Aswani Madhavan 17 nov. 2017 à 09:51

C'est ce que j'ai compris de votre exigence. Vérifiez la requête ci-dessous.

=========================================

Declare @date datetime = '2016-01-01'

Déclarer la table @tbl (alldate date)

While (@date <= GETDATE ()) commence l'insertion dans @tbl sélectionnez @date

Set @ date = @ date + 1

If @ date = GETDATE () begin break; fin fin

Sélectionnez * de @tbl

0
Manish Kumar 17 nov. 2017 à 09:52

Vous devez disposer d'un tableau numérique pour que cela fonctionne.

select dateadd(day,Number,'01-01-2016') from numbers
where 
dateadd(day,Number,'01-01-2016')<=getdate()

Pour créer une table de nombres

USE Model
GO

CREATE TABLE Numbers
(
    Number INT NOT NULL,
    CONSTRAINT PK_Numbers 
        PRIMARY KEY CLUSTERED (Number)
        WITH FILLFACTOR = 100
)

INSERT INTO Numbers
SELECT
    (a.Number * 256) + b.Number AS Number
FROM 
    (
        SELECT number
        FROM master..spt_values
        WHERE 
            type = 'P'
            AND number <= 255
    ) a (Number),
    (
        SELECT number
        FROM master..spt_values
        WHERE 
            type = 'P'
            AND number <= 255
    ) b (Number)
GO

Références:
http://dataeducation.com/you-require-a-numbers-table/

0
TheGameiswar 17 nov. 2017 à 09:41
 SELECT *FROM Table_Name 
 WHERE CONVERT(NVARCHAR,date_column,111) >=CONVERT(NVARCHAR,@From_Date,111) and  CONVERT(NVARCHAR,date_column,111) <=CONVERT( NVarchar, @TO_Date, 111)
0
Alfaiz Ahmed 17 nov. 2017 à 09:39
47347283