Extraction quelques colonnes SQL Server du J-1

Résolu
benz_mscp Messages postés 24 Statut Membre -  
benz_mscp Messages postés 24 Statut Membre -
Bonjour à tous et à toutes,
Je suis en train de travailler sur une extraction des données sur les derniers enregistrements d'une table de données,
Avec utilisation de la fonction SELECT TOP;
à ce stade-là j'ai de la chance" vous trouver en dessous mon petit script",
Maintenant je veux aller plus loin que ça,
Je voulais extraire les données d'une journée bien déterminée,
ou s'il y une fonction qui fait extraction du J-1 depuis la date du system d'exploitation,

/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 70000 [AlarmId]
,[AlarmGuid]
,[AlarmHandle]
,[ProviderId]
,[TagName]
,[TimeDelay]
,[CauseId]
,[Limit]
,[LimitString]
,[OriginationTime]
,[OriginationTimeFracSec]
,[OriginationTimeZoneOffset]
,[Time]
FROM [WWALMDB].[dbo].[AlarmMaster]

Meilleurs Salutations

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Déjà.. à l'avenir.. merci de poster ton code correctement sur le forum...
    Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    Ensuite, pour ta question il semble qu'un WHERE serait la réponse
    WHERE YourDate >= dateadd(day,datediff(day,1,GETDATE()),0)
            AND YourDate < dateadd(day,datediff(day,0,GETDATE()),0)
    

    0
    1. benz_mscp Messages postés 24 Statut Membre
       
      merci Jordane pour votre aide et ton commentaire,

      j'ai essayé le scripte avec la condition where, mais sans succès, gras>est ce que YourDate c'est un résultat du dateadd? /gras>
      Faut il déclarer dateadd?

      Merci pour votre retour
      ----------------------------------------------------------------------------------------------------------
      SELECT [AlarmId]
      ,[AlarmGuid]
      ,[AlarmHandle]
      ,[ProviderId]
      ,[TagName]
      ,[TimeDelay]
      ,[CauseId]
      ,[Limit]
      ,[LimitString]
      ,[OriginationTime]
      ,[OriginationTimeFracSec]
      ,[OriginationTimeZoneOffset]
      ,[Time]
      FROM [WWALMDB].[dbo].[AlarmMaster]
      WHERE YourDate >= dateadd(day,datediff(day,1,GETDATE()),0)
      AND YourDate < dateadd(day,datediff(day,0,GETDATE()),0)

      ------------------------------------------------------------------------------------------------------------------
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Commence par relire mon message concernant la façon de poster ton code....
      0
    3. benz_mscp Messages postés 24 Statut Membre
       
      Jordane,
      j'ai réussi à travailler avec deux scripts le premier avec utilisation d'un intervalle de temps désiré:

      where TIME between '2019-06-20 00:00:00' and '2019-06-20 23:59:59'
      ORDER BY Time ASC;

      La deuxième méthode est très éfficase de choisir automatique la date depuis System de la journée J-1:
      FROM [WWALMDB].[dbo].[AlarmMaster]
      WHERE TIME >= dateadd(day,datediff(day,1,GETDATE()),0)
      AND TIME < dateadd(day,datediff(day,0,GETDATE()),0)
      ORDER BY Time ASC.
      0